S/MIME工具,用于处理S/MIME邮件,它能加密、解密、签名和验证S/MIME消息。

用法:

openssl smime [-encrypt] [-decrypt] [-sign] [-verify] [-pk7out] [-des]

       [-des3] [-rc2-40] [-rc2-64] [-rc2-128] [-in file] [-certfile file]

       [-signer file] [-recip  file] [-inform SMIME|PEM|DER] [-passin arg]

       [-inkey file] [-out file] [-outform SMIME|PEM|DER] [-content file] [-to

       addr] [-from ad] [-subject s] [-text] [-rand file(s)] [cert.pem]...

主要选项:

       -encrypt

              加密数据。

       -decrypt

              解密数据。

       -sign

              签名数据。

       -verify

              验证数据。

       -in

              输入文件名。

       -out

输出文件名。

       -pk7out

              输出pkcs7格式的文件。

       -des -des3 -rc2-40 –rc2-60 –rc2-128

              对称算法。

       -signer file

              指定签名者证书。

       -recip      file

              指定接收者证书。

       -inform

              输入文件格式。

       -passin arg

              私钥保护口令来源。

       -inkey file

              私钥文件。

       -outform

              输出文件格式。

示例:

1)   用对方的证书来加密消息

openssl smime -encrypt -in mail.pem -out enced.pem newcert.pem

openssl smime -encrypt -in mail.pem -out enced.pem  -des newcert.pem

2用私钥解密消息

openssl smime -decrypt -in  enced.pem -out mymail.pem -inkey newkey.pem

openssl smime -decrypt -in  enced.pem -out mymail.pem -inkey newkey.pem -des

       3)用自己的私钥签名数据

openssl smime -sign -in  mail.pem -out signedmail.pem -inkey newkey.pem -signer newcert.pem

4)    验证签名

openssl smime -verify -in  signedmail.pem -CAfile newcert.pem -signer newcert.pem

此处newcert是一个自签名证书,如果不是自签名证书用如下命令:

openssl smime -verify -in  signedmail.pem -CAfile demoCA/cacert.pem -signer newcert2.pem

5)   将数据转化为pkcs7格式

openssl smime -pk7out -in signedmail.pem  -out p7.pem

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                           后记   

              终于写完个大概,希望大家批评指正并完善。可以给我发邮件:forxy@126.com。最好加个标题:openssl编程。

              书中有部分文字是来自网上的,比如密码学的介绍以及部分openssl命令。其他都是本人手打。希望这本书对您有所帮助。

              最后我送大家几句话:宁静致远,兴趣是最好的老师。