本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon SES 和安全协议
本主题介绍您在连接至亚马逊以及亚马逊SES向收件人发送电子邮件SES时可以使用的安全协议。
向 Amazon 发送电子邮件的发件人 SES
您用于连接亚马逊的安全协议SES取决于您使用的是亚马逊SESAPI还是亚马逊SESSMTP接口,如下所述。
HTTPS
如果您使用的是亚马逊 SESAPI(直接使用或通过 AWS SDK),则所有通信都将TLS通过亚马逊SESHTTPS终端节点进行加密。亚马逊终SESHTTPS端节点支持 TLS 1.2 和 TLS 1.3。
SMTP接口
如果您SES通过该SMTP接口访问 Amazon,则需要使用传输层安全 (TLS) 对连接进行加密。请注意,TLS这通常用其前身协议的名称来指代,即安全套接字层 (SSL)。
Amazon SES 支持两种建立TLS加密连接的机制:STARTTLS和 TLS Wrapper。
-
STARTTLS— STARTTLS 是一种将未加密连接升级为加密连接的方法。有多种协议STARTTLS的版本;SMTP版本在 RFC3207
中定义。对于STARTTLS连接,亚马逊SES支持 TLS 1.2 和 TLS 1.3。 -
TLSWrap TLS per — Wrapper(SMTPS也称为 Handshake 协议)是一种无需先建立未加密连接即可启动加密连接的方法。使用 TLS Wrapper,Amazon SES SMTP 终端节点不执行TLS协商:客户端有责任使用连接终端节点TLS,并在整个对话中继续使用TLS该终端节点。TLSWrapper 是一种较旧的协议,但许多客户端仍然支持它。对于 TLS Wrapper 连接,亚马逊SES支持 TLS 1.2 和 TLS 1.3。
有关使用这些方法连接到 Amazon SES SMTP 界面的信息,请参阅连接到 Amazon SES SMTP 终端节点。
亚马逊致SES收件人
虽然 TLS 1.3 是我们的默认传送方式,但SES可以使用早期版本的将电子邮件传送到邮件服务器TLS。
默认情况下,Amazon SES 使用机会主义TLS。这意味着 Amazon SES 始终尝试与接收邮件的服务器建立安全连接。如果 Amazon SES 无法建立安全连接,它会发送未加密的消息。
您可以使用配置集来更改此行为。使用PutConfigurationSetDeliveryOptionsAPI操作将配置的TlsPolicy
属性设置为Require
。您可以使用 AWS CLI
将 Amazon 配置SES为要求配置集进行TLS连接
-
在命令行输入以下命令:
aws sesv2 put-configuration-set-delivery-options --configuration-set-name
MyConfigurationSet
--tls-policy REQUIRE在前面的示例中,替换
MyConfigurationSet
使用您的配置集的名称。当您使用此配置集发送电子邮件时,Amazon SES 只有在能够建立安全连接的情况下才会将邮件发送到接收电子邮件的服务器。如果 Amazon SES 无法与接收电子邮件的服务器建立安全连接,它就会丢弃该邮件。
End-to-end 加密
您可以使用 Amazon SES 发送使用 S/ MIME 或进行加密的消息PGP。使用这些协议的消息会被发送人加密。只有拥有解密消息所需私有密钥的收件人才能查看其内容。
Amazon SES 支持以下MIME类型,您可以使用这些类型来发送 S/ MIME 加密电子邮件:
-
application/pkcs7-mime
-
application/pkcs7-signature
-
application/x-pkcs7-mime
-
application/x-pkcs7-signature
Amazon SES 还支持以下MIME类型,您可以使用这些类型来发送PGP经过加密的电子邮件:
-
application/pgp-encrypted
-
application/pgp-keys
-
application/pgp-signature