APN fails with "Authentication failed because the remote side has closed the transport stream"

I am trying to send an APN from C # using the SslStream.AuthenticateAsClient method, passing the server IP address, SslProtocols.Tls and X509Certificate2Collection . But I get an error message:

 Authentication failed because remote party has closed the transport stream 

I tried all the solutions discussed here, but nothing works. Below is the code

 X509Certificate2Collection certs = new X509Certificate2Collection(); X509Certificate2 xcert = new X509Certificate2(); xcert.Import(@"D:\certify.p12", "password", X509KeyStorageFlags.UserKeySet); certs.Add(xcert); // Apple development server address string apsHost; if (xcert.ToString().Contains(ProductionKeyFriendName)) apsHost = "gateway.push.apple.com"; else apsHost = "gateway.sandbox.push.apple.com"; // Create a TCP socket connection to the Apple server on port 2195 TcpClient tcpClient = new TcpClient(); tcpClient.Connect(apsHost, 2195); // Create a new SSL stream over the connection sslStream = new SslStream(tcpClient.GetStream()); // Authenticate using the Apple cert ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; sslStream.AuthenticateAsClient(apsHost, certs, System.Security.Authentication.SslProtocols.Tls, false); return true; 
+6
source share
1 answer

I faced the same situation after disabling SSL3. After creating a new certificate, it worked.

+1
source

All Articles