amazon-web-services - 如何使用自控证书为 AWS S3 端点启用 TLS?

标签 amazon-web-services ssl amazon-s3 ssl-certificate tls1.2

我们有一个 IoT 设备可以将数据上传到 AWS S3 端点。要启用 TLS(安全 HTTPS 传输),需要将 S3 端点证书添加到物联网设备 SD 卡。

如果我们在浏览器中添加 URL (https://s3.amazonaws.com/bucketname),单击锁定图标并为我们的 SD 卡导出根 CA 证书,这将正常工作。但是,随着时间的推移,亚马逊可能会决定更改此设置,恕不另行通知 - 我们无法向 IoT SD 卡添加超过 1 个证书。

为了解决这个问题,我们一直在研究使用我们控制的证书在我们的 S3 端点上启用 TLS 的选项 - 这样它就不会改变,除非我们决定这样做。但是,我们不确定对此的正确解决方案是什么。

我们查看了 AWS CloudFront,将自定义域添加到我们的端点并添加证书。但我们不确定这是否可行——以及它是否是最佳解决方案。欢迎任何意见。

最佳答案

您可以放心,AWS 会就 s3.amazonaws.com 等关键服务端点的 CA 根证书更改提供大量提前通知。这种类型的更改将对该端点的所有消费者产生重大的维护影响。他们根本无法在未适当通知客户的情况下更改 CA 根证书。

因此,对于此用例,最简单的解决方案是使用标准 AWS 端点,并在将来更换 CA 根时,将对 CA 证书的任何升级作为设备上的维护任务进行处理。

自定义域 + 云端是在您自己的域上使用您自己的 SSL 证书的有效解决方案。但请注意,它还将具有一个 CA 根证书,该证书将受制于 future 潜在的根证书更新——与默认端点相同。所以你真的不会在 CA 更改上获得任何更多的独立性。出于这个原因,Cloud Front 解决方案只会增加复杂性,对您的用例没有真正的好处。但是,如果您真的想运行自己的私有(private) CA 并控制自己的根 CA 证书的到期日期,则可以使用 AWS Certificate Manager 私有(private)证书颁发机构。参见 https://aws.amazon.com/certificate-manager/private-certificate-authority/

仅供引用,S3 端点上的根 CA 证书将在 5 年 4 个月后到期。它使用由 Baltimore Cyber​​Trust Root 颁发的 DigiCert Baltimore CA-2 G2 证书,并使用良好的强加密,例如 key 长度和签名算法。我不希望 AWS 有任何理由在该证书到期之前替换该证书。

参见 https://www.ssllabs.com/ssltest/analyze.html?d=s3.amazonaws.com用于 AWS S3 证书的 SSL 分析。

关于amazon-web-services - 如何使用自控证书为 AWS S3 端点启用 TLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514336/

相关文章:

amazon-web-services - Heroku SSL Cloudfront 缺少 key 对 ID 403 错误

ssl - Rails 4 和 Ruby 2 Net/HTTP SSL 请求:OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol

android - 没有互联网连接时应用程序崩溃

php - 您对存储 AWS 身份验证数据有何建议?

mysql - 无法从 AWS Lambda 函数连接到在 AWS EC2 上运行的 MySQL 实例

android - 使用 Xamarin Android 与客户端证书进行 SSL 通信

windows - 如何为 Windows 操作系统中 tomcat 中托管的应用程序生成 SSL 证书-非自签名

javascript - 使用phonegap将图像上传到S3,如何?

amazon-web-services - 通过 AWS 上的 API 在胶水表上添加分区?

amazon-web-services - 如何让用户使用 Alexa 设置变量?