本篇博客需安装openssl。
一、生成key
openssl genrsa -out openssl.key 1024
openssl.key 是生成key的名称可随意 。 1024是生成密钥的长度。
二、生成cer证书
openssl req -new -x509 -key openssl.key -out openssl.cer -days 3650 -subj /CN=baidu.com
penssl.key为之前生成的key的名字,openssl.cer为生成的证书名字,3650为证书过期天数,CN的参数baidu.com是的你主机名或者IP地址。
三、生成pfx证书
注意:生成pfx证书会提示设置密码,此密码要记住,提取密钥时要输入此密码。
openssl pkcs12 -export -out openssl.pfx -inkey openssl.key -in openssl.cer
四、从pfx里提取出密钥对
openssl pkcs12 -in openssl.pfx -nocerts -nodes -out pubAndPri.key
五、从密钥对里提取出私钥
openssl rsa -in pubAndpri.key -out openssl_pri.key
六、从密钥对里提取出公钥
openssl rsa -in pubAndpri.key -pubout -out openssl_pub.key
七、因为RSA算法使用的是pkcs8模式补足,需要对提取的私钥进一步处理
openssl pkcs8 -topk8 -inform PEM -in openssl_pri.key -outform PEM -nocrypt
八、复制窗口中生成的密钥,保存为openssl_pri_pkcs8.key
-----------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------
生成pem公私钥
一、生成pem私钥(PKCS1格式)
openssl genrsa -out /Desktop/private_key.pem 1024
二、PKCS1私钥转换为PKCS8(该格式一般java调用)
openssl pkcs8 -topk8 -inform PEM -in /Desktop/private_key.pem -outform pem -nocrypt -out /Desktop/private_pkcs8.pem
三、生成公钥
openssl rsa -in /Desktop/private_key.pem -out /Desktop/rsa_public_key.pem -pubout