如何在AWS ELB上安装godaddy SSL证书?

w8f9ii69  于 2023-10-19  发布在  Go
关注(0)|答案(6)|浏览(115)

我从GoDaddy购买了SSL证书。我已经创建了一个密钥库文件,从中生成了一个CSR文件,将其发送到GoDaddy,并收到了这些文件:

  • mydomain.crt
  • gd_intermediate.crt
  • gd_bundle.crt

现在我正在尝试在AWS控制台中创建一个弹性负载均衡器。当被要求提供证书详细信息时,他们会要求:

  • 私钥(PEM编码)
  • 公钥证书(PEM编码)
  • 证书链(PEM编码,可选)

如何将我拥有的文件转换为这些参数?

aiazj4mn

aiazj4mn1#

对于AWS ELB,您需要三件事,正如您所说的

私钥

您在Linux上生成的RSA密钥
#openssl genrsa -des3 -out host.key 2048
它将要求输入密码,给予它,我们稍后将删除它。

公钥

从你的私钥,你首先生成CSR文件,这是证书签名请求(一个你提交给权威在你的情况godaddy获得公钥)。您可以使用生成csr文件
#openssl req -new -key host.key -out host.csr
现在你提交你的csr文件到godaddy,作为回报,他们会提供两个文件(mydomain.crt,gd_softle.crt)。mydomain.crt是您的公钥。

证书链

gd_valle.crt是godaddy为您提供公钥的证书链文件。您的公钥和证书链文件不需要任何转换,但对于私钥文件,您需要删除其密码并将其转换为pem,

#openssl rsa -in host.key -out private.pem

把私钥.pem文件内容放在aws私钥部分,把mydomain.crt文件内容放在公钥部分,把gd_keyle. crt内容放在证书链部分。转换完全取决于您从哪里获得证书。如果从其他公司获得证书,我会建议你遵循AWS的认证。

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
4ngedf3f

4ngedf3f2#

差不多是两年前,但我偶然发现了这个,它难倒了我一秒钟。

**Certificate body * 是zip文件中的主键,我的看起来像这个f7dsdfsdf2f4e942d.crt,只有一个条目。

中间的字段Certificate private key * 是对您的csr进行签名的ssh私钥。它存在于你用来创建csr请求的服务器上。我通过查看nginx配置文件并复制到本地驱动器找到了我的位置。
最后一个字段
证书链**是3个条目的文件,我的看起来像gd_bundle-g2-g1.crt

bvjveswy

bvjveswy3#

我最近不得不经历这个过程,没有一个答案对我有用。下面是允许我将新的SSL证书上传到AWS的步骤(以便随后在ElasticBeanstalk中使用)。

获取私钥

在这个过程中,我必须使用两个命令:

openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key

server.key文件是您的私钥。
此外,您可以通过执行以下操作生成CSR(证书签名请求):

openssl req -nodes -new -key server.key -out server.csr

这是我们将用于请求GoDaddy颁发新证书的文件。

获取公钥

在GoDaddy中发布证书后,下载它。这将为您提供给予两个文件,必须通过执行以下操作将其捆绑为一个文件:

cat yourdomain.crt gd_bundle-g2-g1.crt > combined.crt

combined.crt是你的公钥。

将服务器证书复制到AWS

使用server.keycombined.crt文件,您现在可以使用AWS CLI将证书上传到AWS。你只需要使用以下命令:

aws iam upload-server-certificate --server-certificate-name your_certificate_name --certificate-body file://combined.crt --private-key file://server.key

如果一切正常,您将收到来自服务器的响应:

{
    "ServerCertificateMetadata": {
        "ServerCertificateId": "ABCDEFG12345678", 
        "ServerCertificateName": "certificate-name", 
        "Expiration": "2018-08-26T11:59:38Z", 
        "Path": "/", 
        "Arn": "arn:aws:iam::1234123412:server-certificate/certificate-name", 
        "UploadDate": "2017-08-26T19:53:46.989Z"
    }
}

就这样,你应该在AWS中有一个新的SSL证书。

aij0ehis

aij0ehis4#

您希望将mydomain.crt转换为mydomain.pem(其他两个文件是信任链文件)。你可以在任何unix或Linux系统上使用openssl从crt生成pem文件。
由于证书颁发者拥有私钥,因此它应该向您询问私钥的唯一原因是它是否正在尝试生成证书。如果你已经有了一个证书,就应该使用它。检查documentation

krcsximq

krcsximq5#

以下是有关如何获取在Amazon Elastic Load Balancer(ELB)上运行的Godaddy SSL证书的指南http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr/#.UKFla2nGU_8

pbgvytdp

pbgvytdp6#

如果您使用的是Windows IIS服务器:

私钥

  • 按照说明here获取您的私钥。基本上(没有屏幕截图):
  • 运行 mmc.exe
  • 从 * 文件 * 菜单中,选择 * 添加/删除管理单元 *。
  • 在出现的新窗口中,单击“添加”。
  • 选择 * 证书 *,然后单击 * 添加 *。
  • 选择计算机帐户选项,然后单击“下一步”。
  • 选择 * 本地计算机 *,然后单击 * 完成 *。
  • 单击“关闭”,然后单击“确定”。证书管理单元(本地计算机)出现在控制台中。
  • 展开左侧预览面板中的 Certificates(Local Computer) 树。
  • 右键单击 * 个人 * 并选择 * 所有任务>导入 *。此时将显示证书导入向导。单击“下一步”。
  • 浏览到服务器证书文件的位置,然后单击“下一步”。
  • 选择 * 将所有证书放入以下存储区 *,然后单击 * 下一步 *。
  • 单击 * 完成 * 以完成证书导入向导。
  • 此时将出现一个对话框,指示导入成功。单击“确定”。
  • 在树中,展开“Personal”(个人),然后单击“Certificates”(证书)。双击您的证书。
  • 在证书弹出窗口的 Details 选项卡中单击 copy to file,然后创建一个.pfx文件。
  • 转到here将其转换为PEM格式。
  • 仅粘贴从-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----的部分。
  • 不是-----BEGIN PRIVATE KEY-----上面的行,也不是-----END PRIVATE KEY-----下面的行
    公钥
  • 在下载的zip文件中使用GoDaddy提供的.crt文件。
    证书链
  • 在下载的zip文件中使用GoDaddy提供的gd_tagle-g2-g1.crt。

相关问题