Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2396886
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: 网络与安全

2013-01-21 15:08:10

1、对某个文件进行DES3加密 

openssl enc -des3 -in 026h23f.txt -out out026h23f.des

即可对文件026h23f.txt(明文)进行加密。

2、对某个已加密的文件进行解密

openssl enc -des3 -d -in out026h23f.des -out new026h23f.txt

将会对out026h23f.des密文进行解密,产生一个明文文件new026h23f.txt

3、对某个经过BASE64编码后的文件进行解码

openssl enc -base64 -d -in 026h23fbase64.txt  -out 026h23fplain.txt

Base64编码后的文件026h23fbase64.txt进行解码,解码后产生的新文件为026h23f plain.txt

4、产生一对RSA非对称密钥(公钥与私钥),并分别用它们来对某个文件进行加密和解密

openssl genrsa -des3 -out  myrsaCA.key 1024

将会产生一个RSA私钥,私钥放在myrsaCA.key文件中

openssl rsa -in myrsaCA.key -text –noout

可在屏幕上显示私钥文件myrsaCA.key中的私钥内容。当然在显示前,该命令会自动对私钥文件myrsaCA.key中的内容进行des3解密,解密需要des3对称密钥,因此,在执行该命令的过程中,会要求输入保护口令。

openssl rsa -in myrsaCA.key -pubout -out myrsapubkey.pem

可导出RSA公钥,导出的公钥放在myrsapubkey.pem文件中,当然执行命令时这里也需要输入保护口令。

4.1、用公钥对文件加密,以后用私钥对文件解密(加密模式)

openssl rsautl -encrypt -in 026h23f.txt -pubin -inkey myrsapubkey.pem -out pub026h23f.enc

用公钥对文件026h23f.txt加密,产生的密文为pub026h23f.enc

openssl rsautl -decrypt -in pub026h23f.enc -inkey myrsaCA.key -out newpub026h23f.txt

用私钥对刚才加密的文件pub026h23f.enc进行解密,解密时也需输入口令

4.2、用私钥对文件加密,以后用共钥对文件解密(签名模式)

openssl rsautl -sign -in 026h23f.txt -inkey myrsaCA.key -out pri026h23f.enc

用私钥对文件026h23f.txt进行加密,产生的密文为pri026h23f.enc

openssl rsautl -verify -in pri026h23f.enc -pubin -inkey myrsapubkey.pem -out newpri026h23f.txt

用共钥对密文pri026h23f.enc进行解密,产生的明文为 newpri026h23f.txt

5、对某个文件产生数字摘要

openssl  dgst -md5  -out  026h23f.md5  026h23f.txt

6、对某个文件产生的数字摘要进行签名,并验证签名 

openssl  dgst -md5  -out  026h23f.sign  -sign  026h23f.key   026h23f.txt ,产生一个数字签名摘要,放置在026h23f.sign文件中

openssl  dgst -md5  -signature  026h23f.sign  -prverify  026h23f.key   026h23f.txt ,在屏幕上显示验证的结果

7、为用户颁发数字证书

7.1、为CA创建一个证书签名用的RSA私钥

openssl  genrsa  -des3 [-passout pass:password]  -out  ca.key  1024

生成的私钥放在文件ca.key中。注意,执行时,需要输入保护口令,除非用了-passout参数。

7.2、为CA创建一个自签名的CA根证书

openssl  req  -new  -x509  -days  365  -key  ca.key  -out cacert.crt  -config openssl.cnf

7.3、为用户(服务器、个人)颁发证书

要为用户颁发证书,先要用genrsa子命令为用户生成一个私钥,再用req子命令为用户生成一个证书签署请求CSR,然后再用x509子命令来为用户生成一个由CA签名的证书,输入的三个命令分别为:

openssl genrsa -des3 -out 026h23f.key 1024

openssl req -new -key 026h23f.key -out 026h23f.csr -config  openssl.cnf

openssl x509 -req -in 026h23f.csr -out 026h23f.crt -CA cacert.crt -CAkey ca.key -days 600

 

8、上面生成的用户私钥和用户的X.509证书封装成一个个人信息交换证书,用于电子邮件的加密与签名

8.1

个人信息交换证书中封装有用户的X.509证书(内含用户的公共密钥)和用户的私有密钥,可以用在电子邮件系统中分别对邮件进行签名和加密。当用户 的私钥026h23f.key和用户的X.509证书026h23f.crt产生后,接下来就可以用Openssl将它们封装成一个个人信息交换证书。具 体命令为:

openssl  pkcs12  -export  -clcerts  -in  026h23f.crt  -inkey  026h23f.key  -out  026h23f.p12

执行完此命令后,将生成一个名为026h23f.p12的用户个人信息交换证书。有了这个个人信息交换证书,就可以将它导入到outlook express中,以便加密或签名电子邮件。具体步骤为:打开outlook express,选择菜单[工具]—>[选项],在出现的对话框窗口中单击安全项下的数字标识按钮,在出现的证书窗口中分别导入个人信息交 换证书026h23f.p12和受信任的根证书cacert.crt,以后可以用此个人信息交换证书来对新建的电子邮件进行加密和签名了 

8.2

对某个电子邮件进行加密与解密、签名与验证 。步骤如下:

对某个邮件进行加密,形成数字信封

$openssl smime -encrypt -in my.txt -out my.enc 026h23f.crt

对某个加密的邮件进行解密(拆解数字信封)

$openssl smime -decrypt -in my.enc -out my.txt1 -inkey 026h23f.key -recip 026h23f.crt

对某个邮件进行数字签名

$openssl smime -sign -in my.txt -out my.sign -inkey 026h23f.key -singer 026h23f.crt

对某个签名的邮件进行验证

$openssl smime -verify -in my.sign -out my.txt -ceritfile 026h23f.crt -CAfile cacert.crt

对邮件签名后再加密

$openssl smime -sign -in my.txt -out my.sign -inkey 026h23f.key -singer 026h23f.crt

$openssl smime -encrypt -in my.txt -out my.enc 026h23f.crt

 
 

转载自:http://blog.csdn.net/sahusoft/article/details/6938761#t7
阅读(2484) | 评论(0) | 转发(0) |
0

上一篇:Awk学习笔记

下一篇:RHEL5 iSCSI安装配置

给主人留下些什么吧!~~