首页 文章

如何在aws elb上安装godaddy ssl证书?

提问于
浏览
24

我从godaddy购买了SSL证书 . 我创建了一个密钥库文件,从中生成了一个csr文件,将其发送给godaddy,并收到了这些文件:

  • mydomain.crt

  • gd_intermediate.crt

  • gd_bundle.crt

现在我尝试在AWS控制台中创建Elastic Load Balancer . 当被问及证书详情时,他们要求:

  • 私钥(pem编码)

  • 公钥证书(pem编码)

  • 证书链(pem编码,可选)

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

6 回答

  • 0

    对于AWS ELB,您需要三件事

    Private Key

    你用linux生成的rsa密钥

    #openssl genrsa -des3 -out host.key 2048

    它会要求输入密码,暂时给它我们以后会删除它 .

    Public key

    从您的私钥开始,您首先生成csr文件,即证书签名请求(您在案例godaddy中提交给权限以获取公钥的那个) . 你可以使用生成csr文件

    #openssl req -new -key host.key -out host.csr

    现在你将你的csr文件提交给godaddy,作为回报,它们为你提供了两个文件(mydomain.crt,gd_bundle.crt) . mydomain.crt是你的公钥 .

    Certificate Chain

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

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

    在aws私钥部分中获取AWS.put private key.pem文件内容并将mydomain.crt文件内容放在公钥中并将gd_bundle.crt内容放在认证链部分中是很好的 . 转换全部取决于您获得证书的位置 . 如果从其他公司获得证书,我会建议您关注AWS Docs .

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

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

    Obtaining Private Key

    我不得不在这个过程中使用两个命令:

    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颁发新证书的文件 .

    Obtaining Public Key

    一旦在GoDaddy中发布了证书,就下载它 . 这将为您提供两个必须通过执行以下操作捆绑在一起的文件:

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

    combined.crt 将是您的公钥 .

    Uploading server certificate to 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证书 .

  • 21

    大约差不多两年前,但是我突然想到了这一点,它让我感到困惑了一秒钟 .

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

    中间字段 Certificate private key* 是签署csr的ssh私钥 . 它位于用户创建csr请求的服务器上 . 我通过查看nginx配置文件并复制到我的本地驱动器找到了我的位置 .

    最后一个字段 Certificate chain 是包含3个条目的文件,我看起来像 gd_bundle-g2-g1.crt .

  • 4

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

  • 2

    您想将mydomain.crt转换为mydomain.pem(其他两个文件是信任链文件) . 您可以在任何unix或linux系统上使用openssl从crt生成pem文件 .

    由于证书颁发者具有私钥,因此它应该要求您提供私钥的唯一原因是它是否正在尝试生成证书 . 如果您已经拥有证书,则应该使用它 . 检查documentation

  • 3

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

    Private key

    • 按照说明here获取您的私钥 . 基本上(没有屏幕截图):

    • 运行mmc.exe

    • 从“文件”菜单中,选择“添加/删除管理单元” .

    • 在出现的新窗口中,单击“添加” .

    • 选择“证书”,然后单击“添加” .

    • 选择“计算机帐户”选项,然后单击“下一步” .

    • 选择“本地计算机”,然后单击“完成” .

    • 单击“关闭”,然后单击“确定” . 证书(本地计算机)的管理单元显示在控制台中 .

    • 展开“证书(本地计算机)”树左侧预览面板 .

    • 右键单击“个人”,然后选择“所有任务”>“导入” . 出现“证书导入向导” . 点击下一步 .

    • 浏览到服务器证书文件的位置,然后单击“下一步” .

    • 选择将所有证书放在以下存储中,然后单击“下一步” .

    • 单击“完成”以完成“证书导入向导” .

    • 出现一个对话框,表明导入成功 . 单击确定 .

    • 在树上,展开“个人”,然后单击“证书” . 双击您的证书 .

    • 从“证书”弹出窗口的“详细信息”选项卡中单击“复制到文件”,然后创建.pfx文件 .

    • 转到here将其转换为PEM格式 .

    • 仅粘贴 -----BEGIN PRIVATE KEY----------END PRIVATE KEY----- 的零件 .

    • 不是 -----BEGIN PRIVATE KEY----- 以上的行而不是 -----END PRIVATE KEY----- 以下的行

    Public Key

    • 在下载的zip文件中使用GoDaddy提供的.crt文件 .

    Certificate chain

    • 在下载的zip文件中使用GoDaddy提供的gd_bundle-g2-g1.crt .

相关问题