程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭??

开发过程中遇到在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?的问题如何解决?下面主要结合日常开发的经验,给出你关于在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?的解决方法建议,希望对你解决在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?有所启发或帮助;

已解决:https://developer.apple.com/documentation/usernotifications/setTing_up_a_remote_notification_server/sending_notification_requests_to_apns?language=objc

更新https://support.apple.com/en-us/HT203609

* Legacy ports 2195 and 2196 are deprecated and will not be supported after march 2021.

谁知道正确的端口?

我正在使用新生成的 SSL 证书和私钥测试与 APNS 的连接。这些步骤过去曾奏效,但现在连接立即关闭,我不确定为什么。

生成证书签名请求 (CSR)

  • 在 Mac 上打开 Keychain Access(在应用程序/实用程序中)并选择菜单选项从证书颁发机构请求证书
  • 在此处输入您的电子邮件地址
  • 输入通用名称。
  • 选中 Saved to disk 并点击 ConTinue。保存文件
  • 转到 Keychain Access 的 Keys 部分,您将看到一个新的私钥出现在您的钥匙串中。右键单击它并选择导出
  • 保存私钥并输入密码。

制作 App ID 和 SSL 证书

  • 登录 iOS 开发人员中心,然后从右侧面板中“选择证书、标识符和配置文件”。
  • 在 iOS 应用部分选择证书。
  • 转到边栏中的应用 ID,然后点击 + 按钮。
  • 填写以下详细信息:
  • 按“继续”按钮。系统会要求您验证应用 ID 的详细信息,如果一切正常,请点击提交
  • 从列表中选择应用 ID
  • 点击设置按钮来配置这些设置
  • 向下滚动到“推送通知”部分,然后选择“开发 SSL 证书”部分中的“创建证书”按钮。
  • 下一步,上传 CSR。选择您之前生成的 CSR 文件,然后点击生成。
  • 完成后点击继续。
  • 现在单击下载以获取证书 - 名为“aps_development.cer”。

制作 PEM 文件

所以现在你有三个文件:

企业社会责任 私钥作为 p12 文件 (PushChatKey.p12) SSL 证书,aps_development.cer

  • 将证书和私钥转换为更有用的格式。由于我们服务器的推送部分将使用 PHP 编写,因此您需要将证书和私钥合并到一个使用 PEM 格式的文件中。

为此使用命令行 OpenSSL 工具。打开终端并执行以下步骤。

$ cd ~/Desktop/

将 .cer 文件转换为 .pem 文件:

$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

将私钥的 .p12 文件转换为 .pem 文件:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
Enter import password: 
MAC verifIEd OK
Enter PEM pass phrase: 
Verifying - Enter PEM pass phrase: 

将证书和密钥合并到一个 .pem 文件中:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

测试证书是否有效。执行以下命令:

$ telnet gateway.sandBox.push.apple.com 2195

输出:成功

Trying 17.172.232.226...
Connected to gateway.sandBox.push-apple.com.akadns.net.
Escape character is '^]'.

再次尝试连接,这次使用我们的 SSL 证书和私钥来建立安全连接:

$ openssl s_clIEnt -connect gateway.sandBox.push.apple.com:2195 
-cert PushChatCert.pem -key PushChatKey.pem
Enter pass phrase for PushChatKey.pem: 

输出

如果连接成功,您应该可以输入几个字符。当您按 Enter 时,服务器应断开连接。如果建立连接时出现问题,openssl 会给您一条错误消息,但您可能需要向上滚动输出才能找到它?

Enter pass phrase for PushChatKey.pem:
CONNECTED(00000007)
depth=2 O = @R_382_5021@.net,OU = www.@R_382_5021@.net/cps_2048 incorp. by ref. (limits liab.),OU = 
(C) 1999 @R_382_5021@.net limited,CN = @R_382_5021@.net Certification Authority (2048)
verify return:1
depth=1 C = US,O = "@R_382_5021@,Inc.",OU = See www.@R_382_5021@.net/legal-terms,OU = "(C) 2012. 
@R_382_5021@,Inc. - for authorized use only",CN = @R_382_5021@ Certification Authority - L1K
verify return:1
depth=0 C = US,ST = California,L = CuperTino,O = Apple Inc.,CN =. 
gateway.sandBox.push.apple.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=CuperTino/O=Apple Inc./CN=gateway.sandBox.push.apple.com
i:/C=US/O=@R_382_5021@,Inc./OU=See www.@R_382_5021@.net/legal-terms/OU=(C) 2012 @R_382_5021@,Inc. - for 
authorized use only/CN=@R_382_5021@ Certification Authority - L1K
1 s:/C=US/O=@R_382_5021@,Inc. - 
for authorized use only/CN=@R_382_5021@ Certification Authority - L1K
i:/O=@R_382_5021@.net/OU=www.@R_382_5021@.net/cps_2048 incorp. by ref. (limits liab.)/OU=(C) 1999 
@R_382_5021@.net limited/CN=@R_382_5021@.net Certification Authority (2048)
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIHeTCCBmGgAwIBAgIRAPbAgfgVBaKmAAAAAFD2zUQwDQYJKoZIhvcNAQELBQAw
gBoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL
Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
MjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNliG9ubHkxLjAs
BgNVBAMTJUVudHJ1c3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBMMUswHhcN
MTkwOTA0MjIzNTU1WhcNMjewODEzMjMwNTU0WjB0MQswCQYDVQQGEwJVUzETMBEG
A1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJQ3VwZXJ0aW5vMRMwEQYDVQQKEwpB
cHBsZSBJbmMuMScwJQYDVQQDEx5nYXRld2F5LnNhbmRib3gucHVzaC5hcHBsZS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDWAwggEKAoIBAQChyHjwP4LeKDyF9TNm
fpVuqujXV187B+pWM+DJxpM+JDz7vt3kCkn2Nowu6x9Gc0IV6kpxt39EHrplRuvf
vDf+nFW2/YpAyeEmZqG7y7Z/JOzCT6jedABUGlAxK3QBIaQTvY7NMfeeC+j9G8O0
IriU/hT946jkEweev9gyUOGg3EyIFA1DyhMB9/GSuGO27CiJwDAdgHy/j9V15kxZ
eM9XhNmJ33wGxU4vS6Omk7Ggov7J8Jcb3wtH6a6WHVEp5Xw/HmIfqAfNbX+bAPkC
mOZ3ro0Ao65UiP0ulpYFWXeNh9yZYOGpU7v2tTNW5kUedtB+bdX4R/PedM3JCxAs
1qXBAgMBAAGjggO9MIIDuTBhBgNVHREEWjBYgh5nYXRld2F5LnNhbmRib3gucHVz
aC5hcHBsZS5jb22CGmdhdGV3YXkucWExLnB1c2guYXBwbGUuY29tghpnYXRld2F5
LnFhMi5wdXNolmFwcGxlLmNvbTCCAfYGCisGAQQB1nkCBAIEggHmBIIB4gHgAHUA
VYHUwhaQNgFK6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAFs/ocFAQAABAMARjBE
AiBWL0xhc0nQfFAjuOkKR8AfnR9GQ0BheZQijgmyo2pAIwIgFZs7fKoz9N7L5dMt
QLOzMGHX0m4gSCs7btUFgUaB1BYADWBElGUusO7Or8RAB9io/ijA2uaCvtjLMbU/
0zOWtbaBqAAAAWz+hwTtAAAEAwBIMEYCIQChLP35IStgg3lHeVwSfFttHudTa1dd
dVxVJCmNRiXynAIhAMP5RTSkckDbY4thOsPGF9tM3hYXcixGBjC0jPKg0YWJAHYA
VhQGmi/XwuzT9eG9Rli+x0Z2ubyZEVzA75SYVdaJ0N0AAAFs/ocFcQAABAMARzBF
AIEAhO2diaVUI/rWK+3TMKO4u7quT+0RAnBYBcBMhPP3H/gCICE7EUbZl3Utr1hj
T2QkyAeScSIlP/Emr6xWKBS7NXGQAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUuga
kJZkNo4e0YUAAAFs/ocFLgAABAMARzBFAiAqqha5yiCjqjlYr32mL4PzO+9pGRfp
2qDNkXZ//EhjqgIhALmDf4bUUoZEcOIDymIOyh17vOAGbeSr4dY8pxYXPmf2MA4G
A1UdDWEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcdaTAzBgNVHR8ELDAqMCig
JqAkhiJodHRwOi8vY3JsLmVudHJ1c3QubmV0L2xldmVsMWsuY3JsMEsGA1UdIARE
MEIwNgYKYIZIAYb6bAoBBTAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LmVudHJ1
c3QubmV0L3JwYTAIBgZngQwBAgIwaAYIKwYBBQUHAQEEXDBaMCMGCCsGAQUFBzAB
hhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBggrBgEFBQcwAoYnaHR0cDovL2Fp
YS5lbnRydXN0Lm5ldC9sMWstY2hhaW4yNTYuY2VymB8GA1UdIwQymBaAFIKicHTd
vFM/z3vU981/p2DGCky/MB0GA1UdDgQWBBTQ84n8XzpgIvzoK8dF6olZmXaS7DAJ
BgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAQQ0f2KK0KOpq1XX9Dul9Rxnwi
XQoiM9+RSc7JXU4elfGNDj5oTPXy7RxFZqHLrfRiY+2oNJXs/BbtPLvWYJsRVQ4W
ib/VV8/fw7l2+Flw13xGkzcsvgYbuotrC+eFDg31mrie6jtzpxfNqZoIUwYLVc9S
BCVvHun5G+aoew6fHVkjOAfXTv4mlSI/Cky3plu21KadRJusA02Vw5x3cyBhktG/
Xc3+8GUozdEaMhgOI0cVI3tKNlvNqSdoWBl6wbZnFyYpZ16FMO95FVe3xNSs+I2n
eNMYf02CeAGORI6xASpnTjjbSwXJ97qrYzeK9AgkW9NfJGd88UuvZoSquWN6
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=CuperTino/O=Apple Inc./CN=gateway.sandBox.push.apple.com
issuer=/C=US/O=@R_382_5021@,Inc. - 
for authorized use only/CN=@R_382_5021@ Certification Authority - L1K
---
Acceptable clIEnt certificate CA names
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Root CA
/CN=Apple Application Integration 2 Certification Authority/OU=Apple Certification. 
Authority/O=Apple Inc./C=US
/C=US/ST=CA/L=CuperTino/O=Apple Inc./OU=Internet Software and services/CN=iCloud 
Test/emailAddress=APNS-Dev@group.apple.com
/CN=Apple Corporate Authentication CA 1/OU=Certification Authority/O=Apple Inc./C=US
/C=US/O=Apple Inc./OU=Apple WorlDWIDe Developer Relations/CN=Apple WorlDWIDe Developer 
Relations Certification Authority
/C=US/ST=California/L=CuperTino/O=Apple Inc./CN=gateway.sandBox.push.apple.com
/CN=Apple Corporate Root CA/OU=Certification Authority/O=Apple Inc./C=US
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Application Integration. 
Certification Authority
---
SSL handshake has read 4438 bytes and written 2231 bytes
---
New,TLSv1/SSLv3,Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol  : TLSv1.2
Cipher    : DES-CBC3-SHA
Session-ID: 
Session-ID-ctx: 
Master-Key:`183328E332667EE69F996B79F74A3ED834C1D663AD1A80B06E672583D47216F44C65C7A3AE3C5D3642E9DD8605DD3AC8`

Start Time: 1619577573
Timeout   : 7200 (seC)
Verify return code: 0 (ok)
---
closed

你们是否都在 2021 年 2 月收到了来自 Apple Developer 的电子邮件,内容是:

从 2021 年 3 月 29 日起,与 Apple 推送通知服务的基于令牌和证书的 http/2 连接必须包含新的根证书 (aaacertificateservices 5/12/2020),以取代旧的 GeoTrust Global CA 根证书。为确保无缝过渡并避免推送通知传送失败,请在 3 月 29 日之前验证 http/2 接口的新旧根证书都包含在每个通知服务器的信任存储中。

请注意,Apple 向您颁发的 Apple Push Notification 服务 SSL 提供商证书此时无需更新。

这是一个有效的变化吗?我已经成功使用这些步骤 7 年多。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?全部内容,希望文章能够帮你解决在测试新生成的 SSL 和私钥时,是什么导致与 APNS 的连接立即关闭?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。