簡體   English   中英

如何在aws elb上安裝godaddy ssl證書?

[英]How to install godaddy ssl certificate on aws elb?

我從godaddy購買了SSL證書。 我創建了一個密鑰庫文件,從中生成了一個csr文件,將其發送給godaddy,並收到了這些文件:

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

現在我嘗試在AWS控制台中創建Elastic Load Balancer。 當被問及證書詳情時,他們要求:

  • 私鑰(pem編碼)
  • 公鑰證書(pem編碼)
  • 證書鏈(pem編碼,可選)

如何將我擁有的文件轉換為這些參數?

對於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_bundle.crt)。 mydomain.crt是你的公鑰。

證書鏈

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

我最近不得不經歷這個過程,沒有一個答案對我有用。 以下是允許我將新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證書。

大約差不多兩年前,但是我突然想到了這一點,它讓我感到困惑了一秒鍾。

證書正文*是zip文件中的主鍵,我看起來像這個f7dsdfsdf2f4e942d.crt並且只有一個條目。

中間字段證書私鑰*是簽署csr的ssh私鑰。 它位於用戶創建csr請求的服務器上。 我通過查看nginx配置文件並復制到我的本地驅動器找到了我的位置。

最后一個字段證書鏈是包含3個條目的文件,我的看起來像gd_bundle-g2-g1.crt

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

您想將mydomain.crt轉換為mydomain.pem(其他兩個文件是信任鏈文件)。 您可以在任何unix或linux系統上使用openssl從crt生成pem文件。

由於證書頒發者具有私鑰,因此它應該向您詢問的唯一原因是它是否正在嘗試生成證書。 如果您已經擁有證書,則應該使用它。 查看文檔

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

私鑰

  • 按照此處的說明獲取您的私鑰。 基本上(沒有屏幕截圖):
    • 運行mmc.exe
    • 從“ 文件”菜單中,選擇“ 添加/刪除管理單元”
    • 在出現的新窗口中,單擊“ 添加”
    • 選擇“ 證書” ,然后單擊“ 添加”
    • 選擇計算機帳戶選項,然后單擊下一步
    • 選擇本地計算機 ,然后單擊完成
    • 單擊“ 關閉” ,然后單擊“ 確定” 證書(本地計算機)的管理單元顯示在控制台中。
    • 展開左側預覽面板中的“ 證書(本地計算機)”樹。
    • 右鍵單擊Personal,然后選擇All Tasks> Import 出現“證書導入向導”。 單擊下一步
    • 瀏覽到服務器證書文件的位置,然后單擊“ 下一步”
    • 選擇將所有證書放在以下存儲中 ,然后單擊下一步
    • 單擊“ 完成”以完成“證書導入向導”。
    • 將出現一個對話框,指示導入成功。 單擊確定。
  • 在樹上,展開“ 個人” ,然后單擊“ 證書” 雙擊您的證書。
  • 從“證書”彈出窗口的“ 詳細信息”選項卡中單擊“ 復制到文件” ,然后創建.pfx文件。
  • 轉到此處將其轉換為PEM格式。
  • 粘貼在-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----
    • 不是上面的行-----BEGIN PRIVATE KEY-----而不是下面的行-----END PRIVATE KEY-----

公鑰

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

證書鏈

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM