【问题标题】:How to export .key and .crt from keystore如何从密钥库中导出 .key 和 .crt
【发布时间】: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 文件呢?

【问题讨论】:

    标签: java android tomcat ssl


    【解决方案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 文件中
      猜你喜欢
      • 2017-01-10
      • 1970-01-01
      • 2021-08-16
      • 2020-12-31
      • 2017-08-04
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多