一、生成key, 文件名字是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 证书转 JKS
keytool -importkeystore -srckeystore openssl.pfx -srcstoretype PKCS12 -destkeystore openssl.jks -deststoretype JKS
openssl.pfx是转前的pfx
openssl.jks是转后的
输入上面命令后要输入3次上面生成openssl.pfx的密码,通过后然后输入要生成openssl.jks的密码。
四、从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
-----------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------
加解密文件
一、生成一对公私钥文件,私钥prikey2.pem,公钥pubkey2.pem
openssl req -x509 -nodes -days 1000 -newkey rsa:2048 -keyout prikey2.pem -out pubkey2.pem
二、利用公钥pubkey2.pem,加密文件dongpwd.txt,输出到二进制文件dongpwd_enc
openssl smime -encrypt -aes256 -in dongpwd.txt -binary -outform DEM -out dongpwd_enc pubkey2.pem
三、利用私钥prikey2.pem,解密二进制文件dongpwd_enc,输出到明文文件dongpwd_dec.txt
openssl smime -decrypt -in dongpwd_enc -binary -inform DEM -inkey prikey2.pem -out dongpwd_dec.txt