Skip to content

Instantly share code, notes, and snippets.

@ixqbar
Last active September 10, 2018 01:48
Show Gist options
  • Save ixqbar/b5332a5336e248fb0687ac861486d835 to your computer and use it in GitHub Desktop.
Save ixqbar/b5332a5336e248fb0687ac861486d835 to your computer and use it in GitHub Desktop.
openssl使用

###产生1024位RSA私匙,用3DES加密它,口令为trousers,输出到文件rsaprivatekey.pem

openssl genrsa -out rsaprivatekey.pem -passout pass:trousers -des3 1024

###从文件rsaprivatekey.pem生成的公钥匙输出到文件rsapublickey.pem

openssl rsa -in rsaprivatekey.pem -passin pass:trousers -pubout -out rsapubckey.pem

###用公钥匙rsapublickey.pem加密文件plain.txt,输出到文件cipher.txt

openssl rsautl -encrypt -pubin -inkey rsapublickey.pem -in plain.txt -out cipher.txt
  • 公钥加密

###使用私钥匙rsaprivatekey.pem解密密文cipher.txt,输出到文件plain.txt

openssl rsautl -decrypt -inkey rsaprivatekey.pem -in cipher.txt -out plain.txt
  • 私钥解密

###用私钥匙rsaprivatekey.pem给文件plain.txt签名,输出到文件signature.bin

openssl rsautl -sign -inkey rsaprivatekey.pem -in plain.txt -out signature.bin
  • 私钥签名

###用公钥匙rsapublickey.pem验证签名signature.bin,输出到文件plain.txt

openssl rsautl -verify -pubin -inkey rsapublickey.pem -in signature.bin -out plain
  • 公钥验证私钥签名合法性

###从X.509证书文件cert.pem中获取公钥匙,用3DES加密mail.txt 输出到文件mail.enc

openssl smime -encrypt -in mail.txt -des3 -out mail.enc cert.pem

S/MIME[Secure Multipurpose Internet Mail Exchange]
S/MIME应用于安全邮件交换,可用来认证和加密,是PGP的竞争对手。与PGP不同的是,它需要一套公匙体系建立信任关系,而PGP只需直接从某个地方获取对方的公匙就可以。然而正因为这样,它的扩展性比PGP要好。另一方面,S/MIME可以对多人群发安全消息,而PGP则不能。 命令smime可用来加解密、签名、验证S/MIME v2消息(对S/MIME v3的支持有限而且很可能不工作)。对于没有内置S/MIME支持的应用来说,可通过smime来处理进来(incoming)和出去(outgoing)的消息。

###从X.509证书文件cert.pem中获取接收人的公钥匙,用私钥匙key.pem解密S/MIME消息mail.enc,结果输出到文件mail.txt

openssl smime -decrypt -in mail.enc -recip cert.pem -inkey key.pem -out mail.txt

###cert.pem为X.509证书文件,用私匙key,pem为mail.txt签名,证书被包含在S/MIME消息中,输出到文件mail.sgn

openssl smime -sign -in mail.txt -signer cert.pem -inkey key.pem -out mail.sgn

###验证S/MIME消息mail.sgn,输出到文件mail.txt签名者的证书应该作为S/MIME消息的一部分包含在mail.sgn中

openssl smime -verify -in mail.sgn -out mail.txt
@ixqbar
Copy link
Author

ixqbar commented Sep 10, 2018

生成nginx ssl

openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment