从jks证书中提取公钥和私钥(jks证书转pem证书)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从jks证书中提取公钥和私钥(jks证书转pem证书)相关的知识,希望对你有一定的参考价值。

参考技术A jks转为p12,然后再将p12转为pem

androidStudio使用keystore文件对APK进行签名,但快应用中要求使用PEM文件对RPK进行签名。

现有demo.jks,证书密码为demopwd,转换成pem之后依然使用demopwd作为密码。

提取公钥:

切换到jks证书的存储路径,执行如下命令:keytool -list -rfc -keystore demo.jks -storepass demopwd

如果出现下图的错误提示:

那么请把demo.jks文件拷贝到与keytool.exe文件同目录下,keytool在jdk的bin目录下,拷贝之后cmd切换到bin目录重新执行刚才的命令

然后就能在命令行中看到打印的公钥内容(也即Certificate),如下图

提取私钥:

jks文件中的私钥不能直接得到,需要通过openssl将jks文件转换成pkcs12格式后再进行提取。

执行如下命令将demo.jks文件转换成demo.pfx文件:

keytool -v -importkeystore -srckeystore demo.jks -srcstoretype jks -srcstorepass demopwd -destkeystore demo.pfx -deststoretype pkcs12 -deststorepass demopwd -destkeypass demopwd

命令执行完成后目录下就会多了一个demo.pfx文件。

然后,执行如下命令便可以将demo.pfx的私钥导出:

openssl pkcs12 -in demo.pfx -nocerts -nodes -out demo.key

输入密码后会生成一个demo.key文件,打开查看内容

以上是关于从jks证书中提取公钥和私钥(jks证书转pem证书)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Spring saml 应用程序的公钥和私钥创建 JKS 文件?

证书 pem 转 jks

jdk生成CA证书

JAVA代码-数字证书公私钥生成-公钥cer ,私钥jks, pfx格式

将证书从 pem 转换为 jks

使用openssl命令从.p12文件中提取证书和私钥。