错误连接APNS服务器

Error connection APNS server

我有一个应用程序启用了推送通知服务,直到现在都没有问题。但是昨天我犯了一个错误,吊销了证书并且通知不起作用。 然后我创建了一个新的 apns 推送生产证书(.p12 文件)并放入我的服务器。但现在我有以下错误:

System.IO.IOException : Authentication failed because the remote side closed the transport stream .

在论坛上阅读时,我注意到不支持 ssl3 安全性,然后我尝试更改为 tls。但是当我尝试这个时我有这个错误:

the remote side closed the transport stream

我尝试用 2048 位 RSA 的私钥生成 .p12 文件,但没有结果。

这个mi服务器代码。我正在使用 MoonApns。

certificate = If(String.IsNullOrEmpty(p12FilePassword), New X509Certificate2(File.ReadAllBytes(P12File)), New X509Certificate2(File.ReadAllBytes(P12File), p12FilePassword, X509KeyStorageFlags.MachineKeySet))
    _certificates = New X509Certificate2Collection()
    _certificates.Add(_certificate)

    Dim _apnsClient As TcpClientapnsClient = New TcpClient()
    _apnsClient.Connect(ProductionHost, NotificationPort)

    Dim _apnsStream As SslStream = New SslStream(_apnsClient.GetStream(), False, AddressOf validateServerCertificate, AddressOf SelectLocalCertificate)

    Try

        _apnsStream.AuthenticateAsClient(ProductionHost, _certificates, System.Security.Authentication.SslProtocols.Tls, False)

Catch ex As System.Security.Authentication.AuthenticationException
            Throw ex
        End Try

谢谢你的帮助。

此致

我找到了自己的解决方案!

如果您使用带有 .p12 证书的 Moon APNS 并且需要使用 tls 安全性,则必须在您的 apns 服务器中安装 apns_production.cer。如果你没有这个,你的系统中可能会出现套接字异常。

谢谢