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 -out ca.key 1024
生成的私钥放在文件ca.key中。注意,执行时,需要输入保护口令
7.2、为CA创建一个自签名的CA根证书
openssl req -new -x509 -days 365 -key ca.key -out cacert.crt -config openssl.cnf
7.3、为用户(服务器、个人)颁发证书
openssl genrsa -des3 -out 026h23f.key 1024openssl req -new -key 026h23f.key -out 026h23f.csr -config openssl.cnfopenssl 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将它们封装成一个个人信息交换证书。具体命令为:
执行完此命令后,将生成一个名为026h23f.p12的用户个人信息交换证书。有了这个个人信息交换证书,就可以将它导入到outlook express中,以便加密或签名电子邮件。具体步骤为:打开outlook express,选择菜单[工具]—>[选项],在出现的对话框窗口中单击“安全”项下的“数字标识”按钮,在出现的证书窗口中分别导入个人信息交换证书026h23f.p12和受信任的根证书cacert.crt,以后可以用此个人信息交换证书来对新建的电子邮件进行加密和签名了
8.2