

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon SNS Apple 推送通知身份验证方法
<a name="sns-apple-authentication-methods"></a>

您可以通过提供将您识别为应用程序开发人员的信息，授权 Amazon SNS 将推送通知发送到您的 iOS 或 macOS 应用程序。要进行身份验证，请[在创建平台应用程序时](https://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html)提供*密钥*或者*证书*，您可以通过 Apple 开发人员账户获得这两项。

**令牌签名密钥**  
Amazon SNS 用于签署 Apple 推送通知服务 (APNs) 身份验证令牌的私有签名密钥。  
如果您提供签名密钥，Amazon SNS 将使用令牌对您发送 APNs的每条推送通知进行身份验证。使用您的签名密钥，您可以向 APNs 生产环境和沙盒环境发送推送通知。  
您的签名密钥不会过期，您可以将相同的签名密钥用于多个应用程序。有关更多信息，请参阅 Apple 网站 “**开发者账户帮助**” 部分中的[ APNs 使用身份验证令牌进行通信](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_token-based_connection_to_apns)。

**证书**  
在您发送推送通知 APNs 时，Amazon SNS 使用它进行身份验证的 TLS 证书。您可以从 Apple 开发人员账户获取该证书。  
证书将在一年后过期。出现这种情况时，您必须创建新证书并将其提供给 Amazon SNS。有关更多信息，请参阅 Apple 开发者网站 APNs上的[与建立基于证书的连接](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_certificate-based_connection_to_apns)。

**使用管理控制台 AWS 管理 APNs 设置**

1. 登录 [Amazon SNS 控制台](https://console.aws.amazon.com/sns/home)。

1. 在导航窗格中，选择**推送通知**。

1. 在**平台应用程序**部分，选择要编辑其 APNs 设置的**应用程序**，然后选择**编辑**。如果您尚未创建平台应用程序，请按照[创建 Amazon SNS 平台应用程序](mobile-push-send-register.md)指南立即创建。

1. 选择**编辑**以修改平台应用程序的设置。

1. 在**身份验证类型**部分，选择下列选项之一：
   + **基于令牌的身份验证**（建议用于现代 APNs 集成）
   + **基于证书的身份验证**（旧方法）

1. 根据身份验证类型配置您的**凭证**：
   + **基于令牌的身份验证**：
     + 上传 **.p8 文件**，这是您从 Apple 开发者帐户下载的身份验证令牌签名密钥。
     + 输入**签名密钥 ID**，您可以在 Apple 开发者账户中找到它。导航到 “**证书**” **IDs、“配置文件**”、“**密钥**”，然后选择要使用的**密**钥。
     + 提供 Apple 开发人员账户中的**团队标识符**。可以在“会员资格”页面上找到此值。
     + 输入分配给您的应用程序的**捆绑标识符**。您可以在 “证书” IDs 和 “配置文件”、“应用程序” 下找到此信息 IDs。
   + **基于证书的身份验证：**
     + 上传您的 TLS 证书的 **.p12 文件**。当您从 Apple 开发人员账户下载证书之后，可以在 macOS 上从 Keychain Access 导出此文件。
     + 如果您的 .p12 证书设置了**密码**，在这里输入它。

1. 输入必要的凭证后，选择**保存更改**以更新设置。