ssl双钥的keystore和pem格式证书制作

背景:因为在ssl证书使用时,java中常用的是keystore。而其他环境经常会用到pem格式的

操作:(linux环境下)

   服务端:

     1.生成keystore,注意CN的值必须是要发布服务的域名,不能是ip

      

keytool -genkey -alias server -dname "CN=www.test.com" -keyalg RSA -keystore server.store -storepass  123456 -keypass  123456

    2.将生成的keystore转换为PKCS12

keytool -importkeystore -srckeystore server.store -destkeystore server.store.p12 -srcstoretype JKS -deststoretype PKCS12

    3.转换pkcs12格式的秘钥库得到pem格式的私钥

openssl pkcs12 -nocerts -nodes -in server.store.p12 -out server-private-key.pem

    4.从keystore中导出公钥证书

keytool -export -alias server -file server-pub.cer -keystore server.store -storepass 123456

   5.转换cer格式证书到pem格式

openssl x509 -in server-pub.cer -inform DER -out server-pub.pem -outform PEM

   6.转换普通pem格式到rsa的pem格式

openssl rsa -in server-private-key.pem -out server-private-key-new.pem

 rsa格式pem

-----BEGIN RSA PRIVATE KEY-----
lsjflsfjdlskd
sdfksjldfjs
....
....
ksjdflskd
-----END RSA PRIVATE KEY-----

 普通格式pem

-----BEGIN PRIVATE KEY-----
ksldfjs
ksdjflsdf
...
....
sfjlskjdfljf
ksdfjlsdkf
-----END PRIVATE KEY-----

 客户端:与服务端生成方法相同

猜你喜欢

转载自394938226.iteye.com/blog/2326459