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

Mic*_*utz 5 ssl nginx amazon-ec2 amazon-web-services

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

现在我尝试使用AWS的说明安装它:

aws iam get-server-certificate --server-certificate-name <<ExampleCertificate>>
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

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

sud*_*udo 8

您必须使用AWS ACM API(IAM证书和ACM证书不同).等效API是ACM中的GetCertificate

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

现在,我认为您正在尝试获取证书和链以在您的实例上使用它,但亚马逊颁发的证书不能与EC2实例一起使用,因为您无法获取私钥.您必须将证书与ELB一起使用.

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