boto 支持 Amazon Trust Services 迁移

boto support for Amazon Trust Services migration

tl;博士: 当亚马逊从 DigiCert 迁移到 Amazon Trust Services 时,不包含 Amazon Trust Services 证书的旧 boto 版本会在几个月后过时吗?

Amazon's CA for S3 is changing 在几个月内从 DigiCert 到 Amazon Trust Services。 他们说客户应该信任 Amazon Trust Services 的根证书(将它们列在他们的信任库中)。

curl 和 chrome 对 AWS 测试端点的响应良好,这些端点测试一切是否正确可信,这意味着根证书在 OS 的信任库中,但我必须确保 Botocore 1.8 .11,以及 boto 2.38 信任。 为什么他们会有什么不同?因为 this:

The .NET, Java, PHP, Go, JavaScript, and C++ SDKs and CLIs do not bundle any certificates, so their certificates come from the underlying operating system.

较新版本的 botocore 和 boto3 DO 有 与它们捆绑在一起的根证书 (e.g.),

  1. 这是否意味着我正在使用的没有捆绑证书的版本将在几个月后过时?还是他们在捆绑证书之前也使用了基础 OS 信任库?
  2. 使用这些 boto 版本从已经迁移的区域(例如 eu-west-3)获取对象是否意味着我绝对安全?

当然,升级是应该做的,但在我的情况下,这是一件非常辛苦的工作。

  1. 捆绑的 boto3 和 botocore 根证书只是当 OS 上不存在根证书时的后备。

    awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -e "Amazon Root CA" -e "Starfield"

    应该找到根证书,这意味着一切都很好:

    subject= /C=US/O=Amazon/CN=Amazon Root CA 1 subject= /C=US/O=Amazon/CN=Amazon Root CA 2 subject= /C=US/O=Amazon/CN=Amazon Root CA 3 subject= /C=US/O=Amazon/CN=Amazon Root CA 4 subject= /C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority subject= /C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Root Certificate Authority - G2 subject= /C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2

  2. 是。