keytool 创建 jks 格式证书,以及转换 p12
创建命令
1
| keytool -genkeypair -alias [keyname] -keystore [demo.jks] -validity [365]
|
选择密钥算法 ECDSA
1
| keytool -genkeypair -alias [keyname] -keystore [demo.jks] -validity [365] -keyalg ec
|
最佳实践:
store 密码 与 key 密码保持一致。
密码长度大于8、包含大小写、含特殊字符:`!@#$%^&*()-_=+\|[{}];:’”,.<>/?
检查校验
1
| keytool -list -v -keystore [demo.jks]
|
或
1 2
| keytool -exportcert -alias [keyname] -keystore [demo.jks] | openssl sha1 -binary | openssl base64
|
转换 p12 格式
将使用 EC 算法的 jks 转换为 p12 格式
1
| keytool -importkeystore -srckeystore [demo.jks] -srcstoretype JKS -deststoretype pkcs12 -destkeystore [demo.p12]
|
openssl 提取 p12 私钥
1
| openssl pkcs12 -nodes -in [demo.p12] -out [demo.private.pem]
|
openssl 提取公钥
1
| openssl pkey -in [demo.private.pem] -pubout -out [demo.public.pem]
|
生成 csr
1
| keytool -certreq -alias [keyname] -keystore [demo.p12] -storetype pkcs12 -file [demo.csr]
|