keystore导出p12,cer,crt,.key.pem证书文件格式

p12文件生成

keytool -genkey -v -alias root -keyalg RSA -storetype PKCS12 -keystore dlt.p12 -dname "CN=www.handtimes.com,OU=ipcc,O=云电同方,L=昆明,ST=云南,C=中国" -storepass ipcc@95598 -keypass ipcc@95598

1、生成keystore文件

命令行窗口执行如下命令:

keytool -genkey -alias ynhr -keyalg RSA -keysize 1024 -keypass 123456 -validity 36500 -keystore test.keystore -storepass 123456

命令解读:

-alias 别名:ynhr

-keyalg 算法:RSA

-keysize 密码长度:1024

-keypass 私钥访问密码:123456

-validity 有效期:36500天

-keystore 名称:test.keystore

-storepass keystone文件访问密码:123456

img

在目录下已生成名为:test.keystore 的文件

2、keytool 通过keystone 导出p12文件

keytool -importkeystore -srcstoretype JKS -srckeystore test.keystore -srcstorepass 123456 -srcalias ynhr -srckeypass 123456 -deststoretype PKCS12 -destkeystore test.p12 -deststorepass 123456 -destalias client -destkeypass 123456 -noprompt
keytool -importkeystore -srckeystore 要转换的.jks -destkeystore 转换后的.p12  -srcstoretype JKS -deststoretype PKCS12  -srcstorepass STORE密码 -deststorepass STORE密码 -srcalias 用户名 -destalias 用户名 -srckeypass KEY密码 -destkeypass KEY密码 -noprompt

继续执行如上命令导出p12私钥文件

3、从p12导出格式为.key的私钥文件

openssl pkcs12 -in test.p12 -nocerts -nodes -out test.key

img

4、从keystore导出cer公钥证书文件

keytool -export -alias ynhr -keystore test.keystore -rfc -file test.cer

img

有时候需要.crt格式的文件,调整下格式即可

keytool -export -alias ynhr -keystore test.keystore -rfc -file test.crt

5、导出格式为“pem”的公钥证书文件

5.1、keytool生成keystore的转为PKCS12格式

keytool -importkeystore -srcstoretype JKS -srckeystore test.keystore -srcstorepass 123456 -srcalias ynhr -srckeypass 123456 -deststoretype PKCS12 -destkeystore test.p12 -deststorepass 123456 -destalias test -destkeypass 123456 -noprompt

5.2、opensl 从PKCS12中导出私钥

openssl pkcs12 -in test.p12 -passin pass:123456 -nocerts -out test.private

MAC verified OK

Enter PEM pass phrase:123456

Verifying - Enter PEM pass phrase:123456

5.3、opensl 从私钥导出不带签名的公钥

openssl rsa -in test.private -pubout

Enter pass phrase for client.private:123456

writing RSA key

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClREmV3+XLyq23AKA00kYZ0exc

4CcLqhVVgavJckgwLKPKc0F0Rg8J4fKb8JBfIl9qaHa/RWh6MI50y1GKBEub5PWj

JOAwsDhhLKTOD8DU7GXJnDOcwMfFPhfcMvID98l3uK3G9fjviMcKbN3tMlW0vg0D

19msDnNhOpRKqZnULwIDAQAB

-----END PUBLIC KEY-----

6、将公钥证书导入密钥库

keytool -import -v -file bst.cer -keystore miepay.keystore