如何在API Gateway中使用AWS证书管理器证书?

8

我需要获取API网关中使用域名的证书名称、证书内容、证书私钥和证书链。

我在Amazon的证书管理器中有一个“*.domainready.com”的证书,想要使用该证书信息。但是我无法从仪表板界面中找到任何访问它的途径。有没有办法从AWS中获取有关该证书的信息?

2个回答

8
截至2017年3月9日,在us-east-1地区创建的证书可供API Gateway使用。
AWS API Gateway不是与AWS证书管理器集成的服务。这限制了它仅能用于CloudFront和Elastic Load Balancing等服务。
要在API Gateway上安装SSL证书,您需要公共证书、私钥和根CA证书链。ACM本身永远不会让您看到私钥,因为这完全由服务管理。这是限制因素:您无法将证书以可用格式导出以供稍后导入到其他SSL端点(例如API Gateway)。
您需要从主要提供商购买SSL证书,使用免费服务(StartSSL)或自签名证书,如果您正在测试。
任何一种证书都可以在API网关创建自定义域页面中进行配置。

把ACM证书放在CloudFront分发上,然后将CF指向API Gateway端点?看起来很合理。 - Michael - sqlbot
@Michael-sqlbot,由于API Gateway已经在幕后创建了一个CF分发,那么这不是在堆叠两个CF分发吗?这会引起任何问题吗? - Mark B
只要您不将CF分发配置为将传入的“Host:”标头(或所有标头)白名单转发到后端,就不应该出现问题,这将创建一个漂亮的无限循环。我没有测试过,但我认为我在这里看到过API-GW内部人员讨论过这个可行性。 - Michael - sqlbot
@MarkB 我找到了。在这里讨论过(https://dev59.com/-pXfa4cB1Zd3GeqPjb_Q#36430581),在使用Web应用程序防火墙(WAF)与API网关的上下文中,“应该可以工作”。由于API Gateway直接/隐式创建的CF分发不是“您”的CF分发之一,因此需要第二个分发,因此您无法使用WAF对其进行配置。 - Michael - sqlbot

-1

证书链是中级证书

对于证书链,输入或粘贴 PEM 格式的中级证书和可选的根证书,一个接一个地排列,不要留下任何空行。如果包括根证书,则您的证书链必须以中级证书开始,并以根证书结束。请使用您的证书颁发机构提供的中级证书。不要包括不在信任路径链中的任何中间人。以下是一个简化的示例。

-----BEGIN CERTIFICATE-----
EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB
...
8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE
-----END CERTIFICATE-----
Here is another example.

-----BEGIN CERTIFICATE-----
Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Root certificate
-----END CERTIFICATE-----

更多细节请查看亚马逊开发者指南


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接