如何在使用AWS API获取证书时参考AWS ACM证书

时间:2017-08-27 19:12:54

标签: amazon-web-services ssl nginx amazon-ec2

我正在使用AWS,我使用ACM生成证书。 (此过程与我习惯于生成证书签名请求并将其提供给签名机构的过程不同。)我申请了证书: AWS Certificate

现在我尝试使用the instructions from AWS安装它:

aws iam get-server-certificate --server-certificate-name <<ExampleCertificate>>

仅当我用我的证书名称替换<<ExampleCertificate>>时,我不确定我应该用它替换它。请注意,在上图中,我的AWS证书的名称列为空。 (注意:我确保暂时为配置了API IAMFullAccess的IAM用户执行此操作,因此没有权限问题。)如果我尝试使用域将xxxxx.com命名为名称,我被告知此消息:

A client error (NoSuchEntity) occurred when calling the GetServerCertificate operation: 
The Server Certificate with name xxxxxxxx.com cannot be found.

当我使用标识符和ARN时也会发生这种情况。

我的最终目标是在NGINX上签署SSL证书,以便为我的EC2实例提供Web内容。

A :这是正确的轨道吗? (这些是正确的初步步骤吗?)

B :如果是这样,我会用什么来引用证书?或者我使用不同的API?

1 个答案:

答案 0 :(得分:6)

您必须使用AWS ACM API(IAM证书和ACM证书不同)。 等效API为GetCertificate in ACM

aws acm get-certificate --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

现在,我认为您正在尝试获取证书和链以在您的实例上使用它,但亚马逊颁发的证书不能与EC2实例一起使用,因为您无法获取私钥。 You have to use the certificate with ELB.

如果要在实例中安装SSL证书,可以从其他CA获取证书,也可以使用Let's Encrypt证书(也是免费的)。