从jks证书中提取公钥和私钥(jks证书转pem证书)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从jks证书中提取公钥和私钥(jks证书转pem证书)相关的知识,希望对你有一定的参考价值。
参考技术A jks转为p12,然后再将p12转为pemandroidStudio使用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 文件?