在工作中遇到一些问题,记录一下
环境:windows
重要点:运行openssl时一定要获取管理员权限,要不然转换过程可能报错“unable to write 'random state'“。
1.将几个单独的证书合成一个证书链:
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer,有些证书中的主题包含中文,有些版本的openssl可能不能导入该证书,可以用IE浏览器导入,然后再导出成p7b
2.从pfx证书格式获取证书,私钥。pfx的证书格式为pkcs12
OPenssl pkcs12 -nodes -in file.pfx -out key.pem [-nocerts |-nokeys]
-nocerts只导私钥,-nokeys只导证书 两者都没加则都私钥证书导到一个文件,没有-nodes则会提示输入密码。
3.将pem格式的私钥转换为pkcs8格式(der)私钥
Openssl pkcs8 -topk8 -nocrypt -inform pem -outform der -in D:\key.pem -out D:\key2.der 如果不加参数 -nocrypt 则会提示输入密码
通过keytool密钥库导入命令importkeystore,将密钥库格式由PKCS#12转换为JKS。
keytool -importkeystore -v -srckeystore src.pfx -srcstoretype pkcs12 -srcstorepass 123456
-destkeystore dest.keystore -deststoretype jks -deststorepass 123456