3
try
{
    _apnsStream.AuthenticateAsClient("gateway.sandbox.push.apple.com", certificates, System.Security.Authentication.SslProtocols.Ssl3, false);
}

在我的 .net Web 服务中使用 Moon-Apns dll 时,我在上面的行中遇到了这个错误"A call to SSPI failed, see inner exception"......任何人都可以建议我解决这个问题。

4

4 回答 4

2

改变:

System.Security.Authentication.SslProtocols.Ssl3

至:

System.Security.Authentication.SslProtocols.Tls 
于 2014-10-16T19:56:24.873 回答
1

使用生产证书而不是开发证书。

使用gateway.push.apple.com而不是gateway.sandbox.push.apple.com

System.Security.Authentication.SslProtocols.Ssl3_System.Security.Authentication.SslProtocols.Tls

于 2014-11-03T12:19:53.333 回答
0

我不知道这在一年后是否会有所帮助,但我将答案留给了 iOS8。

Apple 已经更改了服务器安全性,并且就您提到的那一行,您必须从 SSL 更改为 TLS:

原始代码:

_apnsStream.AuthenticateAsClient(host,certificates,System.Security.Authentication.SslProtocols.Ssl3, false); 

新代码:

_apnsStream.AuthenticateAsClient(host,certificates,System.Security.Authentication.SslProtocols.Tls, false);

我希望这些信息对某人有所帮助。

有人在 GIT 论坛上评论了这个

于 2014-10-14T07:29:58.443 回答
0

我目前面临同样的问题,原因是后端的 ASP.net 脚本中给出/分配的任何 .p12 .p12 文件在钥匙串中的相应推送通知证书已过期,我只是在其中创建了新的开发人员证书和新的开发人员配置文件在新创建的开发人员证书上导出 .p12 文件并提供给后端开发人员,他在他的脚本中分配了新的 .p12,我在我的 xcode 中分配了新创建的配置文件。它奏效了。

于 2016-12-16T12:17:42.707 回答