6

Ich versuche, APN von C# mit SslStream.AuthenticateAsClient Methode durch Übergabe von Server-IP, SslProtocols.Tls und X509Certificate2Collection zu senden. Aber ich erhalte eine Fehlermeldung:APN schlägt mit "Authentifizierung fehlgeschlagen, da die Remote-Partei den Transportstrom geschlossen hat"

Authentication failed because remote party has closed the transport stream 

habe ich versucht, jede Lösung diskutiert hier aber nichts funktioniert. Bitte unten helfen ist der 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; 
+0

Wurde das Client-Zertifikat von Apple ausgestellt? – jww

+1

hast du das zum arbeiten? Ich versuche genau dasselbe hier zu machen, mit genau dem gleichen Fehler;) –

Antwort

1

ich die gleiche Situation nach dem Deaktivieren SSL3 konfrontiert. Nach dem Erzeugen des neuen Zertifikats hat es funktioniert.

Verwandte Themen