脚本宝典收集整理的这篇文章主要介绍了https学习笔记02,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
http://slproweb.com/products/Win32OpenSSL.html
openssl version
注意:
State、Organization相关内容在生成客户端和服务器端证书的时候
也需要填写,但不要写成一样的,可以随意写如:myca,、myse,、mycl
CommonName这一项,是最后可以访问的域名,因为是在本机,所以写成localhost,后面生成客户端和服务器端证书的时候也需要 写成localhost
格式转换
PEM私钥转PKCS#8
openssl pkcs8 -topk8 -in mysite.key -out mysite.pk8 -outform PEM
PKCS#8转PEM
openssl rsa -in mysite.pk8 -out mysite.key
PEM转PKCS12
openssl pkcs12 -export -inkey mysite.key -in mysite.pem -nodes -out mysite.p12(输出不带口令的p12证书)
openssl pkcs12 -export -inkey mysite.key -in mysite.pem -passout pass:123456 -out mysite.p12 (输出带口令的p12证书)
P12转证书
openssl pkcs12 -in mysite.p12 -nokeys -out mysite.pem
openssl pkcs12 -in mysite.p12 -nokeys -passin pass:123456 -out mysite.pem (p12文件带口令的情况)
P12转私钥
openssl pkcs12 -in mysite.p12 -nocerts -nodes -out mysite.key (输出不加密的私钥)
openssl pkcs12 -in mysite.p12 -nocerts -passout pass:123123 -out mysite.key (输出加密后的私钥)
openssl pkcs12 -in mysite.p12 -nocerts -passin pass:123456 -passout pass:123123 -out mysite.key (p12文件带口令的情况)
密钥操作
生成密钥
genrsa
openssl genrsa -out rsa.key 2048(私钥不带密码)
openssl genrsa -out rsa.key -aes256 -passout pass:123456 2048(私钥带密码)
ecparam
openssl ecparam -name CN-GM-ECC -out sm2.param
openssl ecparam -in sm2.param -out sm2.key -genkey -noout
genpkey
openssl genpkey -algorithm RSA -out rsa.key -pkeyopt rsa_keygen_bits:2048
openssl genpkey -parafile sm2.param -out sm2.key
``
不带密码的私钥==>带密码的私钥
openssl rsa -in rsa.key -out xxx.key -aes256 -passout pass:123456
openssl ec -in sm2.key -out xxx.key -sm4 -passout pass:123456
带密码的私钥==>不带密码的私钥
openssl rsa -in xxx.key -passin pass:123456 -out yyy.key
openssl ec -in xxx.key -passin pass:123456 -out yyy.key
pkey加解密私钥
openssl pkey -in rsa.key -out rsa_enc.key -des3 -passout pass:1234
openssl pkey -in rsa_enc.key -out rsa.key -passin pass:1234
从密钥对提取公钥
openssl rsa -in chen.key -pubout -out chen_pub.key
非对称加密
签名
openssl pkeyutl -sign -inkey rsa.key -in rsa.dat -out sign.dat
验签
openssl pkeyutl -verify -certin -inkey rsa.pem -in rsa.dat -sigfile sign.dat
openssl pkeyutl -verify -inkey rsa.key -in rsa.dat -sigfile sign.dat
加密
openssl pkeyutl -encrypt -inkey rsa.key -in rsa.dat -out enc.dat
解密
openssl pkeyutl -decrypt -inkey rsa.key -in enc.dat -out source.dat
pkcs7
签名
openssl smime -sign -in short.dat -signer rsa.pem -inkey rsa.key -out rsa.sig -outform PEM -nodetach -binary -md sha256
验签
openssl smime -verify -CAfile rsa-ca.pem -signer rsa.pem -in rsa.sig -inform PEM -noverify -content short.dat -binary
加密
openssl smime -encrypt -sha1 -in long.dat -outform PEM -out rsa.env -binary rsa.pem
解密
openssl smime -decrypt -in rsa.env -out rsa.plain -inkey rsa.key -inform PEM -binary
以上是脚本宝典为你收集整理的https学习笔记02全部内容,希望文章能够帮你解决https学习笔记02所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。