从已有的pk8证书创建.keystore证书

本文是在Windows下的操作,需要安装Java和openssl,或者使用cmder
如果是在Linux下且pk8证书无密码,可以直接使用keytool-importkeypair 进行一步转换。

  本文主要是记录将android pk8证书转换为.keystore格式的过程和注意事项。整个过程共分为三个部分。

Part 1: 把pk8证书有DER格式转化为PEM格式

1
openssl pkcs8 in platform.pk8 -passin pass:Password -inform DER -out platform.pem

参数解析:

- pkcs8 证书类型格式
- in 输入来源
- passin 密码来源(可选)
- inform 证书格式
- out 输出证书名字

更多信息请使用openssl pkcs8 -help了解

Part 2:生成pkcs12证书

1
openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out shared.pk12 -name certdemo

  设置密码后,证书生成完毕。

参数解析:

- pkcs12 证书格式类型
- export 输出
- in 文件来源
- inkey 导入证书的来源
- out 输出证书的名字
- name keystore里的alias。

把证书信息导入keystore里

1
keytool -importkeystore -deststorepass demdemo -destkeypass demodemo -destkeystore cerrtdemo.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorrepass demo -alias certdemo


参数解析:

- deststorepass keystore的密码
- destkeyustore keystore的名字
- srckeystore 证书来源
- srcstoretype 来源证书的类型
- srcstorrepass 来源证书的密码
- alias 来源证书的别名