ssl - "Public key certificate and private key doesn' t match"当使用Godaddy颁发的证书

标签 ssl amazon-ec2 openssl ssl-certificate

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关专业服务器或网络相关基础设施管理的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


5年前关闭。







Improve this question




我正在尝试在我在 Amazon AWS 上设置的新负载均衡器上安装 GoDaddy SSL 证书。我最初在 Godaddy 使用 keytool 程序创建了证书,用于直接安装在 Glassfish 3.1 服务器(Amazon linux ami)上。我直接在服务器上进行设置没有问题。我现在需要将证书从 Web 服务器移动到新的负载均衡器。 Amazon 要求私钥和证书必须是 PEM 格式,所以我使用 GoDaddy 的“rekey”工具来创建新证书。当我在 AWS Mgmt 控制台的负载均衡器设置屏幕中加载它们时,我收到错误消息:“公钥证书和私钥不匹配”。

这是我创建 key 的方式:

$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr

然后,我在“重新生成 key ”过程中将 .csr 文件提交给 GoDaddy。更新 key 完成后,我下载了 2 个新创建的证书(apps.mydomain.com.crt 和 gd_bundle.crt)。我下载它们选择(Apache)作为服务器类型(我也尝试过“其他”和“Cpanel”,但看起来都是一样的)。

此时,我使用以下命令从 private.key 文件中删除加密:
$ openssl rsa -in private.key -out private.pem

此时,我返回 AWS Mgmt 控制台,创建负载均衡器,添加安全服务器重定向并将以下文件的内容放在屏幕上要求设置 ssl 证书的相应字段中:
private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain

当我单击“继续按钮”时,我收到错误“错误:公钥证书和私钥不匹配”。

- 有没有一种方法可以测试我是否从亚马逊收到了有效的错误消息?当我非常严格地遵循 GoDaddy 的指示时, key 不匹配对我来说似乎很奇怪。

在创建 .csr 之前,我尝试创建没有 RSA 加密的 private.key 文件,这似乎没有任何区别。

我还假设我从 GoDaddy 下载的 .crt 文件是 .PEM 格式,但我不确定如何验证这一点。

有任何想法吗?

最佳答案

对我来说,这是一个简单的两步:

  • 将私钥转换为 PEM:
    openssl rsa -in yourdomain.key -outform PEM
  • Convert the certificate and certificate bundle to PEM :
    openssl x509 -inform PEM -in yourdomain.crtopenssl x509 -inform PEM -in bundle.crt
  • 关于ssl - "Public key certificate and private key doesn' t match"当使用Godaddy颁发的证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6753619/

    相关文章:

    python - pymongo 在尝试连接到本地 Mongo 实例时返回 SSL 错误

    https - Web 浏览器如何生成 key 对以与 https/tls 网站通信?

    java - 在浏览器中打开时,S3 对象 url 不安全(ssl)

    angular - 在 nginx 服务器中为 Angular 5 应用程序配置子文件夹

    python - 如何在 Amazon Linux AMI 2018.03.0 (HVM) 上正确设置 cron 作业?

    c - C 中的 OpenSSL 编程

    c - OpenSSL SSL_write 来自多个缓冲区/SSL_writev

    android - 根据我对 Ejabberd 的请求获取 SSL 相关错误

    使用 --enable-ssl 编译失败,但如果未指定则可以工作

    apache - AWS - 应用加载服务器后面的 Apache 应用程序不使用 SSL 证书