在 APNs 的上下文中,p8 和 p12 是否分别表示基于令牌和证书的身份验证?

nty*_*sdd 3 authentication apple-push-notifications

据我所知,PKCS 8 常用于存储私钥,PKCS 12 常用于存储证书。

要与 APN 通信,您需要身份验证令牌或证书。

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html

这是否意味着那些 .p8 文件是用于创建令牌的密钥,而那些 .p12 文件是用作证书?

Ben*_*rth 13

.p8是一把钥匙

.p8是一个身份验证令牌签名密钥,或者简称为密钥。您的服务器可以使用它来通过 APN 进行身份验证。您可以使用它来创建 JWT 令牌(一些编码和签名的对象)并将其发送到 APN 进行身份验证。具体来说,您使用 对.p8JWT 有效负载/令牌进行签名,并将此签名附加到 JWT,然后对其进行加密(先签名,后加密)。有关详细信息,请参阅使用身份验证令牌与 APN 进行通信建立与 APN 的基于令牌的连接。创建令牌的方式记录在 与 APN 通信中。例如,JWT 必须加密,并且其创建时间必须少于 1 小时。它提供对所有应用程序的访问,因此您必须使用apns-topic请求标头来指定应用程序。

.p12是一个证书

.p12是一个证书。如果您的系统安装了此证书,它可以使用 TLS 并识别您的身份,因此无需进一步进行身份验证。有关详细信息,请参阅使用 TLS 证书与 APN 通信。它提供对一个应用程序的访问。

Communicating with APNs是一个很好的资源。


这是否意味着这些 .p8 文件是用于创建令牌的密钥,

是的

那些 .p12 文件用作证书?

是的


Ayu*_*ush 5

是的。Apple Push Notification Authentication Key(P8 格式)用于生成服务器端令牌。您在这里不需要证书。(这主要用于同一帐户下有多个应用程序,因为此密钥对于所有应用程序都相同,而不是证书)。因此,使用相同的连接,您的提供商可以使用强制性的“授权”标头与多个应用程序进行通信。今后,APNS 云会使用此标头对每个发布请求进行验证。

P12 格式用于生成证书以根据特定 AppID 对提供者进行身份验证。这里对于每个单独的应用程序,都需要一个单独的证书。此处不需要“授权”标头,因为连接本身已通过身份验证。

我希望它有帮助。