我正在尝试在我在Amazon AWS上设置的新负载均衡器上安装GoDaddy SSL证书.我最初在Godaddy使用keytool程序在Glassfish 3.1服务器(Amazon linux ami)上直接安装创建了证书.我没有问题直接在服务器上进行设置.我现在需要将证书从Web服务器移动到新的负载均衡器.亚马逊要求私钥和证书采用PEM格式,因此我使用GoDaddy的"重定密钥"工具来创建新的证书.当我在AWS Mgmt Console的负载均衡器设置屏幕中加载它们时,我收到错误消息:"公钥证书和私钥不匹配."
以下是我创建密钥的方法:
$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr
Run Code Online (Sandbox Code Playgroud)
然后我在"重定密钥"过程中将.csr文件提交给GoDaddy.重新生成密钥后,我下载了2个新创建的证书(apps.mydomain.com.crt和gd_bundle.crt).我下载它们选择(Apache)作为服务器的类型(我也试过"其他"和"Cpanel",但所有看起来都是一样的).
此时,我使用以下命令从private.key文件中删除加密:
$ openssl rsa -in private.key -out private.pem
Run Code Online (Sandbox Code Playgroud)
此时,我将返回AWS Mgmt控制台,创建负载均衡器,添加安全服务器重定向,并将以下文件的内容放在屏幕上的相应字段中,并要求设置ssl证书:
private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain
Run Code Online (Sandbox Code Playgroud)
当我单击"继续按钮"时,出现错误"错误:公钥证书和私钥不匹配".
- 有没有办法我可以测试我从亚马逊收到有效的错误消息?当我非常密切地关注GoDaddy的指令时,我觉得钥匙不匹配似乎很奇怪.
我在创建.csr之前尝试创建没有RSA加密的private.key文件,这似乎没有任何区别.
我也假设我从GoDaddy下载的.crt文件是.PEM格式,但我不知道如何验证这一点.
有任何想法吗?