我从godaddy购买了SSL证书。我创建了一个密钥库文件,从中生成了一个csr文件,将其发送给godaddy,并收到了这些文件:
现在我正在尝试在AWS控制台中创建Elastic Load Balancer。当被要求提供证书详细信息时,他们会要求:
如何将我拥有的文件转换为这些参数?
答案 0 :(得分:21)
对于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
答案 1 :(得分:4)
我最近不得不经历这个过程,但没有一个答案适合我。以下是允许我将新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证书。
答案 2 :(得分:3)
大约差不多两年前,但是我突然想到这一点,它让我感到困惑了一秒钟。
证书正文* 是zip文件中的主键,我看起来像f7dsdfsdf2f4e942d.crt
,只有一个条目。
中间字段证书私钥* 是为您的csr签名的ssh私钥。它位于用户创建csr请求的服务器上。我通过查看nginx配置文件并复制到我的本地驱动器找到了我的位置。
最后一个字段证书链是包含3个条目的文件,我看起来像gd_bundle-g2-g1.crt
。
答案 3 :(得分:1)
以下是如何获取适用于Amazon Elastic Load Balancer(ELB)的Godaddy ssl证书的指南http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr/#.UKFla2nGU_8
答案 4 :(得分:0)
您想将mydomain.crt转换为mydomain.pem(其他两个文件是信任链文件)。您可以在任何unix或linux系统上使用openssl从crt生成pem文件。
由于证书颁发者拥有私钥,因此它应该要求您提供私钥的唯一原因是它是否正在尝试生成证书。如果您已经拥有证书,则应该使用它。查看documentation
答案 5 :(得分:0)
如果您使用的是Windows IIS服务器:
私钥
-----BEGIN PRIVATE KEY-----
到-----END PRIVATE KEY-----
的部分。
-----BEGIN PRIVATE KEY-----
上方的行,而不是-----END PRIVATE KEY-----
公钥
证书链