![](/img/trans.png)
[英]How to implement an SSL certificate on AWS EC2 and ELB with a domain register with Godaddy
[英]How to install godaddy ssl certificate on aws elb?
我從godaddy購買了SSL證書。 我創建了一個密鑰庫文件,從中生成了一個csr文件,將其發送給godaddy,並收到了這些文件:
現在我嘗試在AWS控制台中創建Elastic Load Balancer。 當被問及證書詳情時,他們要求:
如何將我擁有的文件轉換為這些參數?
對於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.key
和combined.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服務器:
私鑰
-----BEGIN PRIVATE KEY-----
到-----END PRIVATE KEY-----
。
-----BEGIN PRIVATE KEY-----
而不是下面的行-----END PRIVATE KEY-----
公鑰
證書鏈
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.