C# iPhone push serveur?

Im essayant d'écrire un push serveur pour l'iPhone en C#. J'ai le code suivant:

        //Create a TCP/IP client socket.
        using (TcpClient client = new TcpClient())
        {
            client.Connect("gateway.sandbox.push.apple.com", 2195);
            using (NetworkStream networkStream = client.GetStream())
            {
                Console.WriteLine("Client connected.");

                X509Certificate clientCertificate = new X509Certificate(@"certfile.p12", passwordHere);
                X509CertificateCollection clientCertificateCollection = new X509CertificateCollection(new X509Certificate[1] { clientCertificate });

                //Create an SSL stream that will close the client's stream.
                SslStream sslStream = new SslStream(
                    client.GetStream(),
                    false,
                    new RemoteCertificateValidationCallback(ValidateServerCertificate),
                    null
                    );

                try
                {
                    sslStream.AuthenticateAsClient("gateway.sandbox.push.apple.com");
                }
                catch (AuthenticationException e)
                {
                    Console.WriteLine("Exception: {0}", e.Message);
                    if (e.InnerException != null)
                    {
                        Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
                    }
                    Console.WriteLine("Authentication failed - closing the connection.");
                    client.Close();
                    return;
                }
            }

ect....

Seulement-je continuer à recevoir une exception:
"Un appel à la SSPI échoue, consultez la section Intérieure d'exception"
Exception interne -> "Le message reçu était inattendu ou mal formaté."

Quelqu'un aurait-il une idée de ce qui se passe mal ici?

  • Pensé à elle. Remplacé sslStream.AuthenticateAsClient("gateway.sandbox.push.apple.com"); avec sslStream.AuthenticateAsClient("gateway.sandbox.push.apple.com", clientCertificateCollection, SslProtocols.Par défaut, false); Et enregistré les certificats sur le PC.
  • Il a travaillé pour vous?
  • Oui, j'ai tout de travail et peuvent les messages de push sur mon iPhone. N'oubliez pas d'enregistrer votre .p12 fichier avec windows.
  • Êtes-vous en cours d'exécution mono sur votre iPhone?
  • vous devez répondre à votre propre question pour le fermer.
  • Désolé, va le faire 🙂
  • C'est d'enregistrer la .fichier p12 une étape nécessaire? J'ai pensé depuis que vous avez été de les charger à partir du fichier, il ne serait pas question.

InformationsquelleAutor Kyle | 2009-06-28