如何从密钥库中导出 .key 和 .crt
Posted
技术标签:
【中文标题】如何从密钥库中导出 .key 和 .crt【英文标题】:How to export .key and .crt from keystore 【发布时间】:2014-05-30 00:47:27 【问题描述】:当我在开发机器上构建 android 应用程序时,我需要为应用程序提供 SSL 证书,因此我使用 keytool 为 Tomcat 生成了一个密钥库。我从密钥库中提取证书并将其放入 .bks 以使用 android,一切顺利。
现在我们必须将所有服务器端代码转移到需要 Apache HTTP 和 Tomcat 的服务器上。 Apache HTTP SSL 需要 .key 和 .crt 文件,我找不到从密钥库导出 .key 和 .crt 文件的方法
有人可以帮忙吗?我发现你可以从 .pem 生成 .crt
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
但是我怎样才能得到 .key 文件呢?
【问题讨论】:
【参考方案1】:您可以使用填写步骤创建一组新的密钥和自签名证书: 1. 创建密钥和证书签名请求: openssl req -newkey rsa:2048 -out cert.csr -keyout cert.key 2.pem的创建 openssl x509 -req -signkey cert.key -in cert.csr -out cert.pem
【讨论】:
【参考方案2】:Keytool(在 JDK 中可用)允许您将证书导出到文件:
keytool -exportcert -keystore [keystore] -alias [alias] -file [cert_file]
要导出常规密钥,您应该使用 -importkeystore 命令(惊喜):
keytool -importkeystore -srckeystore [keystore] -destkeystore [target-keystore] -deststoretype PKCS12
【讨论】:
这永远行不通,导出密钥不能这样工作 您介意解释一下为什么它不适合您吗? 对于 apache,这不是您导出的方式。首先,您需要以 .p12 格式导出密钥然后,仅导出证书以创建 .crt 文件并仅导出密钥或使用 openSSL 创建 .key 文件。这样做会产生错误,证书无效 PEM 文件。见,serverfault.com/questions/715827/… 问题是如何导出密钥文件。转换为 PEM 本身已经在问题中进行了解释 密钥文件以 .p12 格式导出,但后来不清楚如何使用 openSSL 将其存储到 .key 文件中以上是关于如何从密钥库中导出 .key 和 .crt的主要内容,如果未能解决你的问题,请参考以下文章