升级到 TLS 1.2

2020年5月20日

工程

1 min read

升级到 TLS 1.2

关键要点

    • TLS 1.1 已正式弃用。 Bird (formerly SparkPost) 在 2020年9月 之后不再支持使用 TLS 1.1 进行连接。所有系统必须支持 TLS 1.2 或更高版本 以维持安全连接。

    • 为何需要升级: TLS 1.2 已成为推荐协议超过十年。它提供更强的加密、更好的性能,并符合现代安全标准,而旧版本则易受攻击。

    • 如何检查您的系统:

      • Linux: 使用 nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com 或 openssl 验证协议支持。

      • macOS: 在终端中运行 curl https://api.sparkpost.com/ --tlsv1.2 --verbose。

      • Windows: 进入 Internet Options → Advanced,确保已勾选“Use TLS 1.2”。

    • 如何启用 TLS 1.2:

      • Apache上,更新 SSL 配置:SSLProtocol -all +TLSv1.2

      • Nginx上,修改 ssl_protocols TLSv1.2; 然后重新启动服务。

    • 为什么还不用 TLS 1.3? 虽然 TLS 1.3 是下一步发展,但 AWS 应用负载均衡器(SparkPost/Bird 使用)当时尚不支持。不过,升级 OpenSSL 到 v1.1.1+ 可以为未来的过渡做好准备。

    • 注重安全意识的认可。 Bird 鼓励早期采用者分享他们的升级成功,并加入他们的“杰出墙”——庆祝积极主动的安全合规性。

Q&A 精华

  • 为什么需要 TLS 1.2?

    因为早期版本 (1.0 和 1.1) 不安全且已被 IETF 弃用。TLS 1.2 提供了更强的加密和完整性保护,用于API 和 SMTP 连接。

  • 这会影响谁?

    任何通过过时的TLS版本连接到Bird的客户(通过REST API、SMTP、webhooks或指标端点)。

  • 我如何测试我的连接?

    运行适用于您的操作系统 (Linux、macOS 或 Windows) 的其中一个验证命令。如果输出显示成功的 TLSv1.2 握手,您的连接是合规的。

  • 如果我不升级会怎么样?

    一旦TLS 1.1被禁用,您的连接将失败。您将失去发送消息或访问API的能力,直到您的系统支持TLS 1.2。

  • 我现在可以启用 TLS 1.3 吗?

    您可以,但AWS ALBs可能尚未支持。更新OpenSSL至v1.1.1+确保在TLS 1.3可用时的兼容性。

  • 如果我通过库或SDK使用Bird,我需要更改任何内容吗?

    大多数现代SDK已经默认使用TLS 1.2。然而,如果您的环境的SSL配置或库版本早于2018年中期,请进行验证。

  • 有没有办法确认成功?

    是的——在测试您的连接后,Bird邀请用户通过电子邮件确认给他们的支持团队,在截止日期前核实准备情况。

您是否正在使用早于 1.2 的 TLS?没关系,维护更新延迟对每个人都会发生。我们理解。不过,是时候继续前进了。

还记得2018年6月我们弃用了TLS 1.0 吗?如果不记得,也没关系,您可以在这篇文章中详细了解。现在,2年后,下一版本即将被淘汰,因此我们希望您做好准备以避免服务中断。本文将帮助您做好准备,以便在不使用 TLS 1.1 的情况下运行,以便我们可以仅限制对 TLS 1.2 的访问。我们将指导您检查当前版本以及如何升级到最新版本。为了增加趣味性,我们非常希望听取您的反馈, 并将您添加到“壮观之墙”中,那些早期进行变更的注重安全的公司都会在此展示。

您是否正在使用早于 1.2 的 TLS?没关系,维护更新延迟对每个人都会发生。我们理解。不过,是时候继续前进了。

还记得2018年6月我们弃用了TLS 1.0 吗?如果不记得,也没关系,您可以在这篇文章中详细了解。现在,2年后,下一版本即将被淘汰,因此我们希望您做好准备以避免服务中断。本文将帮助您做好准备,以便在不使用 TLS 1.1 的情况下运行,以便我们可以仅限制对 TLS 1.2 的访问。我们将指导您检查当前版本以及如何升级到最新版本。为了增加趣味性,我们非常希望听取您的反馈, 并将您添加到“壮观之墙”中,那些早期进行变更的注重安全的公司都会在此展示。

您是否正在使用早于 1.2 的 TLS?没关系,维护更新延迟对每个人都会发生。我们理解。不过,是时候继续前进了。

还记得2018年6月我们弃用了TLS 1.0 吗?如果不记得,也没关系,您可以在这篇文章中详细了解。现在,2年后,下一版本即将被淘汰,因此我们希望您做好准备以避免服务中断。本文将帮助您做好准备,以便在不使用 TLS 1.1 的情况下运行,以便我们可以仅限制对 TLS 1.2 的访问。我们将指导您检查当前版本以及如何升级到最新版本。为了增加趣味性,我们非常希望听取您的反馈, 并将您添加到“壮观之墙”中,那些早期进行变更的注重安全的公司都会在此展示。

检查 Windows 中的支持

与 Mac 的使用案例类似,您可能需要检查 Windows 支持的最常见原因是您将其用于本地开发,因此我们假设这一点并检查您的支持情况。 

Windows 7 和 Windows 10 基本上使用相同的过程。 如果您使用的是更早的版本,请升级,因为早期版本不支持 TLS 1.2。

首先点击左下角的 START(通常)。

键入“Internet Options”,然后从结果列表中选择匹配项。

点击 Advanced 选项卡,然后滚动到最底部。如果 TLS 1.2 已被选中,则您已经准备就绪。如果没有,请勾选 Use TLS 1.2 旁边的框,然后点击 Apply。

与 Mac 的使用案例类似,您可能需要检查 Windows 支持的最常见原因是您将其用于本地开发,因此我们假设这一点并检查您的支持情况。 

Windows 7 和 Windows 10 基本上使用相同的过程。 如果您使用的是更早的版本,请升级,因为早期版本不支持 TLS 1.2。

首先点击左下角的 START(通常)。

键入“Internet Options”,然后从结果列表中选择匹配项。

点击 Advanced 选项卡,然后滚动到最底部。如果 TLS 1.2 已被选中,则您已经准备就绪。如果没有,请勾选 Use TLS 1.2 旁边的框,然后点击 Apply。

与 Mac 的使用案例类似,您可能需要检查 Windows 支持的最常见原因是您将其用于本地开发,因此我们假设这一点并检查您的支持情况。 

Windows 7 和 Windows 10 基本上使用相同的过程。 如果您使用的是更早的版本,请升级,因为早期版本不支持 TLS 1.2。

首先点击左下角的 START(通常)。

键入“Internet Options”,然后从结果列表中选择匹配项。

点击 Advanced 选项卡,然后滚动到最底部。如果 TLS 1.2 已被选中,则您已经准备就绪。如果没有,请勾选 Use TLS 1.2 旁边的框,然后点击 Apply。

这会影响我吗?

早在2018年,我们就要求客户升级,而 TLS 1.2 已经是推荐使用的版本有一段时间了,所以您很可能受影响。 然而,如果您使用任何方法注入消息(SMTP 或 REST API)或收集数据(如度量或 webhooks 等),那么您现在确实应该检查以确保您的系统能够支持 TLS 1.2。请确保在实际连接到 SparkPost 的服务器上运行以下测试。

早在2018年,我们就要求客户升级,而 TLS 1.2 已经是推荐使用的版本有一段时间了,所以您很可能受影响。 然而,如果您使用任何方法注入消息(SMTP 或 REST API)或收集数据(如度量或 webhooks 等),那么您现在确实应该检查以确保您的系统能够支持 TLS 1.2。请确保在实际连接到 SparkPost 的服务器上运行以下测试。

早在2018年,我们就要求客户升级,而 TLS 1.2 已经是推荐使用的版本有一段时间了,所以您很可能受影响。 然而,如果您使用任何方法注入消息(SMTP 或 REST API)或收集数据(如度量或 webhooks 等),那么您现在确实应该检查以确保您的系统能够支持 TLS 1.2。请确保在实际连接到 SparkPost 的服务器上运行以下测试。

为什么它很重要

为什么升级到TLS 1.2很重要

为什么升级到TLS 1.2很重要

Details

TLS 1.1支持即将结束

SparkPost将在2020年9月之后不再接受TLS 1.1连接

旧版本不安全

旧版TLS协议易受现代攻击方法的影响

行业标准合规性

TLS 1.2多年来一直是推荐的安全协议

更好的性能和可靠性

加密连接更快、更稳定

正式弃用

IETF标准将TLS 1.1列为过时

为什么升级到TLS 1.2很重要

为什么升级到TLS 1.2很重要

Details

TLS 1.1支持即将结束

SparkPost将在2020年9月之后不再接受TLS 1.1连接

旧版本不安全

旧版TLS协议易受现代攻击方法的影响

行业标准合规性

TLS 1.2多年来一直是推荐的安全协议

更好的性能和可靠性

加密连接更快、更稳定

正式弃用

IETF标准将TLS 1.1列为过时

为什么升级到TLS 1.2很重要

为什么升级到TLS 1.2很重要

Details

TLS 1.1支持即将结束

SparkPost将在2020年9月之后不再接受TLS 1.1连接

旧版本不安全

旧版TLS协议易受现代攻击方法的影响

行业标准合规性

TLS 1.2多年来一直是推荐的安全协议

更好的性能和可靠性

加密连接更快、更稳定

正式弃用

IETF标准将TLS 1.1列为过时

Why now?

实际上,问题应该是“为什么你仍然支持它?”  TLS 1.2已经是推荐的安全标准超过十年,而我们已经到了实际上不再有人提供任何支持的阶段,对于任何低于TLS 1.2的东西。是时候让弱HTTPS支持彻底消亡了。  如果你在2020年3月之后仍然使用TLS 1.1,你会发现连接大多数服务非常困难。  SparkPost已经提供了充足的时间来进行更新,现在我们正在发送最终通知,以便在九月之前进行升级,否则我们将彻底关闭。

实际上,问题应该是“为什么你仍然支持它?”  TLS 1.2已经是推荐的安全标准超过十年,而我们已经到了实际上不再有人提供任何支持的阶段,对于任何低于TLS 1.2的东西。是时候让弱HTTPS支持彻底消亡了。  如果你在2020年3月之后仍然使用TLS 1.1,你会发现连接大多数服务非常困难。  SparkPost已经提供了充足的时间来进行更新,现在我们正在发送最终通知,以便在九月之前进行升级,否则我们将彻底关闭。

实际上,问题应该是“为什么你仍然支持它?”  TLS 1.2已经是推荐的安全标准超过十年,而我们已经到了实际上不再有人提供任何支持的阶段,对于任何低于TLS 1.2的东西。是时候让弱HTTPS支持彻底消亡了。  如果你在2020年3月之后仍然使用TLS 1.1,你会发现连接大多数服务非常困难。  SparkPost已经提供了充足的时间来进行更新,现在我们正在发送最终通知,以便在九月之前进行升级,否则我们将彻底关闭。

但请问,你怎么能修好它呢?

您的IT系统管理员或网站管理员可能已经为您完成了此操作,作为他们日常维护的一部分。如果是这样,您应该请他们喝一杯啤酒,并说声谢谢。如果还没有,您可以按照下面的一些步骤在Linux、Windows和Mac上完成。

请注意,在本文档中,我们将使用美国的SparkPost端点进行测试。

如果您通常使用欧洲部署,则应该使用欧盟端点。

您的IT系统管理员或网站管理员可能已经为您完成了此操作,作为他们日常维护的一部分。如果是这样,您应该请他们喝一杯啤酒,并说声谢谢。如果还没有,您可以按照下面的一些步骤在Linux、Windows和Mac上完成。

请注意,在本文档中,我们将使用美国的SparkPost端点进行测试。

如果您通常使用欧洲部署,则应该使用欧盟端点。

您的IT系统管理员或网站管理员可能已经为您完成了此操作,作为他们日常维护的一部分。如果是这样,您应该请他们喝一杯啤酒,并说声谢谢。如果还没有,您可以按照下面的一些步骤在Linux、Windows和Mac上完成。

请注意,在本文档中,我们将使用美国的SparkPost端点进行测试。

如果您通常使用欧洲部署,则应该使用欧盟端点。

你如何检查? (Linux version)

首先,让我们检查一下您的邻里友好的系统管理员是否已经为您处理了这个问题。这实际上是SSL配置的一部分,因此它可以在您的系统配置中进行管理。 假设您使用的是Linux,最具描述性的方法是使用nmap,但您也可以使用openssl。 您可以在Linux、Windows和Mac上使用nmap,但如果您不想安装新软件,我们也会探索其他适用于Windows和Mac的方法。

要用nmap做到这一点,请测试已知HTTPS主机上的密码。 因为关键是确保我们安全连接到SparkPost,让我们测试该端点。确保您在实际连接到SparkPost的服务器上运行以下测试。 

nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com

这是在我自己的开发服务器上完成的,您可以轻松看到我的配置支持TLS 1.1和1.2,但不支持1.3。 此时需要注意的是,AWS ALBs以及因此SparkPost连接尚不支持TLS 1.3,但它在AWS的路线图上。

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC
                    
Nmap scan report for api.sparkpost.com (52.13.246.255)
Host is up (0.00059s latency).
Other addresses for api.sparkpost.com (not scanned):
34.211.102.211
52.43.22.201
54.213.185.174
100.20.154.199
52.43.110.79
52.40.215.39
52.40.175.169
  
rDNS record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|     compressors:
|       NULL
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
|     compressors:
|       NULL
|_  least strength: strong

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

此时,如果您愿意,实际上可以停止,因为关键是确保您能够使用TLS 1.2连接到SparkPost。 如果您的连接支持TLS 1.2,这就是我们此时所需的一切,因此我们在这里都很不错。 去请对你的系统管理员喝一杯啤酒,并说声谢谢。

给我们发邮件并告诉我们您成功了。

首先,让我们检查一下您的邻里友好的系统管理员是否已经为您处理了这个问题。这实际上是SSL配置的一部分,因此它可以在您的系统配置中进行管理。 假设您使用的是Linux,最具描述性的方法是使用nmap,但您也可以使用openssl。 您可以在Linux、Windows和Mac上使用nmap,但如果您不想安装新软件,我们也会探索其他适用于Windows和Mac的方法。

要用nmap做到这一点,请测试已知HTTPS主机上的密码。 因为关键是确保我们安全连接到SparkPost,让我们测试该端点。确保您在实际连接到SparkPost的服务器上运行以下测试。 

nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com

这是在我自己的开发服务器上完成的,您可以轻松看到我的配置支持TLS 1.1和1.2,但不支持1.3。 此时需要注意的是,AWS ALBs以及因此SparkPost连接尚不支持TLS 1.3,但它在AWS的路线图上。

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC
                    
Nmap scan report for api.sparkpost.com (52.13.246.255)
Host is up (0.00059s latency).
Other addresses for api.sparkpost.com (not scanned):
34.211.102.211
52.43.22.201
54.213.185.174
100.20.154.199
52.43.110.79
52.40.215.39
52.40.175.169
  
rDNS record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|     compressors:
|       NULL
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
|     compressors:
|       NULL
|_  least strength: strong

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

此时,如果您愿意,实际上可以停止,因为关键是确保您能够使用TLS 1.2连接到SparkPost。 如果您的连接支持TLS 1.2,这就是我们此时所需的一切,因此我们在这里都很不错。 去请对你的系统管理员喝一杯啤酒,并说声谢谢。

给我们发邮件并告诉我们您成功了。

首先,让我们检查一下您的邻里友好的系统管理员是否已经为您处理了这个问题。这实际上是SSL配置的一部分,因此它可以在您的系统配置中进行管理。 假设您使用的是Linux,最具描述性的方法是使用nmap,但您也可以使用openssl。 您可以在Linux、Windows和Mac上使用nmap,但如果您不想安装新软件,我们也会探索其他适用于Windows和Mac的方法。

要用nmap做到这一点,请测试已知HTTPS主机上的密码。 因为关键是确保我们安全连接到SparkPost,让我们测试该端点。确保您在实际连接到SparkPost的服务器上运行以下测试。 

nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com

这是在我自己的开发服务器上完成的,您可以轻松看到我的配置支持TLS 1.1和1.2,但不支持1.3。 此时需要注意的是,AWS ALBs以及因此SparkPost连接尚不支持TLS 1.3,但它在AWS的路线图上。

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC
                    
Nmap scan report for api.sparkpost.com (52.13.246.255)
Host is up (0.00059s latency).
Other addresses for api.sparkpost.com (not scanned):
34.211.102.211
52.43.22.201
54.213.185.174
100.20.154.199
52.43.110.79
52.40.215.39
52.40.175.169
  
rDNS record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|     compressors:
|       NULL
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
|     compressors:
|       NULL
|_  least strength: strong

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

此时,如果您愿意,实际上可以停止,因为关键是确保您能够使用TLS 1.2连接到SparkPost。 如果您的连接支持TLS 1.2,这就是我们此时所需的一切,因此我们在这里都很不错。 去请对你的系统管理员喝一杯啤酒,并说声谢谢。

给我们发邮件并告诉我们您成功了。

在您的 Mac 上检查支持

您可能需要在 Mac 上检查支持的最常见原因是您使用它进行本地开发,因此我们假设这一点并检查您的支持情况。 

最不具侵入性的方法是使用每台 Mac 中都应该内置的 curl。启动终端应用程序并使用协议标志专门测试 TLS1.2。

curl https://api.sparkpost.com/ --tlsv1.2 --verbose

* Trying 54.213.185.174...
* TCP_NODELAY set
* Connected to api.sparkpost.com (54.213.185.174) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
    CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Server hello (2)
* TLSv1.2 (IN), TLS handshake, Certificate (11)
* TLSv1.2 (IN), TLS handshake, Server key exchange (12)
* TLSv1.2 (IN), TLS handshake, Server finished (14)
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16)
* TLSv1.2 (OUT), TLS change cipher, Client hello (1)
* TLSv1.2 (OUT), TLS handshake, Finished (20)
* TLSv1.2 (IN), TLS change cipher, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Finished (20)
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2

* Server certificate:
*   subject: CN=*.sparkpost.com
*   start date: Jan 30 00:00:00 2020 GMT
*   expire date: Feb 28 12:00:00 2021 GMT
*   subjectAltName: host "api.sparkpost.com" matched cert's "*.sparkpost.com"
*   issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*   SSL certificate verify ok.
      
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fbd69805200)

> GET / HTTP/2
> Host: api.sparkpost.com
> User-Agent: curl/7.54.0
> Accept: /

*  Connection state changed (MAX_CONCURRENT_STREAMS updated)!
  
< HTTP/2 200
< date: Thu, 07 May 2020 15:14:30 GMT
< content-type: text/plain
< content-length: 95
< server: msys-http
  
Oh hey! You should come work with us and build awesome stuff


如果您想通过 SMTP 连接进行测试,您也可以使用此命令:

openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587


返回大量数据,其中包括:

SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384

您可能需要在 Mac 上检查支持的最常见原因是您使用它进行本地开发,因此我们假设这一点并检查您的支持情况。 

最不具侵入性的方法是使用每台 Mac 中都应该内置的 curl。启动终端应用程序并使用协议标志专门测试 TLS1.2。

curl https://api.sparkpost.com/ --tlsv1.2 --verbose

* Trying 54.213.185.174...
* TCP_NODELAY set
* Connected to api.sparkpost.com (54.213.185.174) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
    CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Server hello (2)
* TLSv1.2 (IN), TLS handshake, Certificate (11)
* TLSv1.2 (IN), TLS handshake, Server key exchange (12)
* TLSv1.2 (IN), TLS handshake, Server finished (14)
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16)
* TLSv1.2 (OUT), TLS change cipher, Client hello (1)
* TLSv1.2 (OUT), TLS handshake, Finished (20)
* TLSv1.2 (IN), TLS change cipher, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Finished (20)
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2

* Server certificate:
*   subject: CN=*.sparkpost.com
*   start date: Jan 30 00:00:00 2020 GMT
*   expire date: Feb 28 12:00:00 2021 GMT
*   subjectAltName: host "api.sparkpost.com" matched cert's "*.sparkpost.com"
*   issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*   SSL certificate verify ok.
      
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fbd69805200)

> GET / HTTP/2
> Host: api.sparkpost.com
> User-Agent: curl/7.54.0
> Accept: /

*  Connection state changed (MAX_CONCURRENT_STREAMS updated)!
  
< HTTP/2 200
< date: Thu, 07 May 2020 15:14:30 GMT
< content-type: text/plain
< content-length: 95
< server: msys-http
  
Oh hey! You should come work with us and build awesome stuff


如果您想通过 SMTP 连接进行测试,您也可以使用此命令:

openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587


返回大量数据,其中包括:

SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384

您可能需要在 Mac 上检查支持的最常见原因是您使用它进行本地开发,因此我们假设这一点并检查您的支持情况。 

最不具侵入性的方法是使用每台 Mac 中都应该内置的 curl。启动终端应用程序并使用协议标志专门测试 TLS1.2。

curl https://api.sparkpost.com/ --tlsv1.2 --verbose

* Trying 54.213.185.174...
* TCP_NODELAY set
* Connected to api.sparkpost.com (54.213.185.174) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
    CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Server hello (2)
* TLSv1.2 (IN), TLS handshake, Certificate (11)
* TLSv1.2 (IN), TLS handshake, Server key exchange (12)
* TLSv1.2 (IN), TLS handshake, Server finished (14)
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16)
* TLSv1.2 (OUT), TLS change cipher, Client hello (1)
* TLSv1.2 (OUT), TLS handshake, Finished (20)
* TLSv1.2 (IN), TLS change cipher, Client hello (1)
* TLSv1.2 (IN), TLS handshake, Finished (20)
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2

* Server certificate:
*   subject: CN=*.sparkpost.com
*   start date: Jan 30 00:00:00 2020 GMT
*   expire date: Feb 28 12:00:00 2021 GMT
*   subjectAltName: host "api.sparkpost.com" matched cert's "*.sparkpost.com"
*   issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*   SSL certificate verify ok.
      
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fbd69805200)

> GET / HTTP/2
> Host: api.sparkpost.com
> User-Agent: curl/7.54.0
> Accept: /

*  Connection state changed (MAX_CONCURRENT_STREAMS updated)!
  
< HTTP/2 200
< date: Thu, 07 May 2020 15:14:30 GMT
< content-type: text/plain
< content-length: 95
< server: msys-http
  
Oh hey! You should come work with us and build awesome stuff


如果您想通过 SMTP 连接进行测试,您也可以使用此命令:

openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587


返回大量数据,其中包括:

SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384

更进一步

为什么停留在TLS 1.2当你知道——你就是知道——我们都将在未来一年左右升级到TLS 1.3。为什么不趁机升级到TLSv1.3呢?

不幸的是,AWS ALBs目前还不支持TLS1.3,所以如果你升级了配置,你与SparkPost和任何其他使用ALB层的AWS服务的连接仍然将限制在TLS1.2。个人而言,我仍然认为在变更时领先一步并升级到1.3是个好主意。

如果你想添加TLS 1.3支持,你可能需要先将OpenSSL库更新到V1.1.1或更高版本,然后在上面提到的协议行中添加+TLSv1.3。类似的说明可以在这里找到 ,适用于Nginx和Cloudflare。

为什么停留在TLS 1.2当你知道——你就是知道——我们都将在未来一年左右升级到TLS 1.3。为什么不趁机升级到TLSv1.3呢?

不幸的是,AWS ALBs目前还不支持TLS1.3,所以如果你升级了配置,你与SparkPost和任何其他使用ALB层的AWS服务的连接仍然将限制在TLS1.2。个人而言,我仍然认为在变更时领先一步并升级到1.3是个好主意。

如果你想添加TLS 1.3支持,你可能需要先将OpenSSL库更新到V1.1.1或更高版本,然后在上面提到的协议行中添加+TLSv1.3。类似的说明可以在这里找到 ,适用于Nginx和Cloudflare。

为什么停留在TLS 1.2当你知道——你就是知道——我们都将在未来一年左右升级到TLS 1.3。为什么不趁机升级到TLSv1.3呢?

不幸的是,AWS ALBs目前还不支持TLS1.3,所以如果你升级了配置,你与SparkPost和任何其他使用ALB层的AWS服务的连接仍然将限制在TLS1.2。个人而言,我仍然认为在变更时领先一步并升级到1.3是个好主意。

如果你想添加TLS 1.3支持,你可能需要先将OpenSSL库更新到V1.1.1或更高版本,然后在上面提到的协议行中添加+TLSv1.3。类似的说明可以在这里找到 ,适用于Nginx和Cloudflare。

在外面注意安全

最后,如果您可以快速给我们发封邮件告知您已验证具备 TLS 1.2 的能力,那就太好了。  我们真的不想切断任何人,截止日期是 2020 年 9 月。  如果我们知道您都在安全区域,我们将对关闭旧支持感到更安心。

最后,如果您可以快速给我们发封邮件告知您已验证具备 TLS 1.2 的能力,那就太好了。  我们真的不想切断任何人,截止日期是 2020 年 9 月。  如果我们知道您都在安全区域,我们将对关闭旧支持感到更安心。

最后,如果您可以快速给我们发封邮件告知您已验证具备 TLS 1.2 的能力,那就太好了。  我们真的不想切断任何人,截止日期是 2020 年 9 月。  如果我们知道您都在安全区域,我们将对关闭旧支持感到更安心。

其他新闻

阅读更多来自此类别的内容

A person is standing at a desk while typing on a laptop.

完整的AI原生平台,可与您的业务一起扩展。

© 2025 Bird

A person is standing at a desk while typing on a laptop.

完整的AI原生平台,可与您的业务一起扩展。

© 2025 Bird