问题描述
我有一个以我的mqtt实例为目标的网络负载均衡器,我在实例上托管了mqtt服务器,并且我有一个python脚本通过网络负载均衡器将流量发送到我的mqtt实例。目前,它适用于TCP。现在,我想确保网络负载平衡器与客户端之间的连接安全,因此我添加了一个侦听器,该侦听器在端口8883上进行侦听,并在其上附加了ACM证书。现在我的问题是如何获取要添加到python脚本中的客户端证书?任何帮助将不胜感激。
解决方法
如果通过公共ACM CA生成证书,则无法导出证书,则只能将其与托管的AWS资源(例如弹性负载均衡器,CloudFront,VPN和API网关)关联。
如果您希望能够控制物理证书,则只能进行以下选择:
- AWS ACM Private CA,这是ACM服务的扩展部分,但价格昂贵。
- 免费的SSL签名服务,例如certbot,与标准CA相比,这些服务需要更频繁地轮换。
- 通过受信任的证书颁发机构购买SSL
现在我的问题是如何获取要添加到python脚本中的客户端证书?
您无法将证书导出到ACM中。如果您需要通过SSL证书控制私钥,则需要从第三方(而不是ACM)获得它。
ACM证书只能在负载均衡器,API网关和CloudFront 发行版上使用。如果要在其他地方使用SSL证书,则必须从第三方获得它。流行的选择是https://letsencrypt.org/。