Keytool JKS

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
# base64 格式
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]