使用Godaddy颁发的证书时,“公钥证书和私钥不匹配”

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

以下是我如何创build密钥:

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

然后我在“rekey”过程中将.csr文件提交给GoDaddy。 一旦rekey完成,我下载2个新创build的证书(apps.mydomain.com.crt&gd_bundle.crt)。 我下载他们select(Apache)作为服务器的types(我也尝试“其他”和“Cpanel”,但看起来都一样)。

此时,我使用以下命令从private.key文件中删除encryption:

 $ openssl rsa -in private.key -out private.pem 

此时,我回到AWS Mgmt控制台,创build负载平衡器,添加安全服务器redirect,并将下列文件的内容放在要求设置ssl证书的屏幕的相应字段中:

 private.pem --> Private Key apps.mydomain.com.crt --> Public Key Certificate gd_bundle.crt --> Certificate Chain 

当我点击“继续button”,我得到错误“错误:公钥证书和私钥不匹配”。

– 是否有一种方法可以testing我从亚马逊获得有效的错误消息? 对我来说,当我按照GoDaddy的指示非常密切的时候,钥匙不会匹配。

我已经尝试在创build.csr之前创build没有RSAencryption的private.key文件,这似乎没有任何区别。

我还假设,我从GoDaddy下载的.crt文件是.PEM格式,但我不知道如何validation这一点。

有任何想法吗?

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

  1. 将私钥转换为PEM:

    openssl rsa -in yourdomain.key -outform PEM

  2. 将证书和证书包转换为PEM :

    openssl x509 -inform PEM -in yourdomain.crt

    openssl x509 -inform PEM -in bundle.crt

只是为了logging和任何其他人试图弄清楚:

yourdomain.key – >terminal命令: sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem – >私钥

yourdomain.crt – >公钥

gd_bundle.crt – >证书链

你很好去:)

看起来问题在于我将密钥和证书的内容复制到AWSpipe理控制台中的方式。 我在Windows 7桌面上使用了运行在Virtual Box中的Ubuntu桌面; 将这些值从gedit屏幕复制并粘贴到Windows框中运行的浏览器上。 一旦我打开钥匙和证书文件在同一个盒子作为networking浏览器(在这种情况下的Windows)证书通过很好。 我猜在Virtual Box客户端和主机之间使用共享剪贴板时,文件的某些部分没有正确完成。 案件结案。

我们find了解决这个问题的替代scheme。 我们遇到了同样的错误。

然后我们再次尝试重新inputpem码,但是这次我们确保一次input一次,并确保光标在每个窗口的末尾都是空行。 然后我们保存了它。 有效。

这解决了我们的问题,所以可能为别人解决。

一个小问题。 我使用的是Windows(Win 7 Pro),当我使用OpenSSL的Windows端口时,输出的文件具有Unix样式的行尾字符(LF)。

我必须将文件转换为Windows样式(CRLF)上载私钥。

我可以build议你提供一个替代解决scheme和信息给你们。 通常所有证书都是PEM文件格式。 您可以打开记事本或任何文本编辑器,并以.crt文件格式拖动您收到的文件。 通常称为.PEM文件。如果证书加载在您的keytool中,则可以将证书作为keytool中的pfx文件导出。 然后,您可以从pfx文件的私钥中分离pfx文件。 因为pfx文件是您的证书和私钥的组合。所以您可以分别获取私钥文件并在您的amazon aws上使用它。

我怀疑可能有另一种方法来安装证书。 也许你可以联系证书颁发机构,并有什么办法让你的证书重新发布。