try
{
_apnsStream.AuthenticateAsClient("gateway.sandbox.push.apple.com", certificates, System.Security.Authentication.SslProtocols.Ssl3, false);
}
我在.net网络服务中使用Moon-Apns dll时,在上面的行中收到此错误"A call to SSPI failed, see inner exception"
...任何人都建议我解决此问题。
答案 0 :(得分:2)
变化:
System.Security.Authentication.SslProtocols.Ssl3
为:
System.Security.Authentication.SslProtocols.Tls
答案 1 :(得分:1)
使用生产证书而不是开发证书。
使用gateway.push.apple.com
代替gateway.sandbox.push.apple.com
AND System.Security.Authentication.SslProtocols.Ssl3
至System.Security.Authentication.SslProtocols.Tls
答案 2 :(得分: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论坛中对此进行了评论
答案 3 :(得分:0)
我目前面临同样的问题,原因是后端的ASP.net脚本中给出/分配的.p12文件在keychain中相应的推送通知证书已过期,我只是在新开发者中创建了新的开发者证书配置文件然后在新创建的开发人员证书上导出.p12文件,并将其提供给后端开发人员,他在他的脚本中分配了新的.p12,我在我的xcode中分配了新创建的配置文件。它起作用了。