title: C# iPhone push server?
body: <p>Im attempting to write a push server for the iPhone in C#. I have the following code:</p>
  
  <pre><code>        // 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;
                  }
              }
  </code></pre>
  
  <p>ect....</p>
  
  <p>Only I keep receiving a exception:
  "A call to SSPI failed, see Inner exception"
  Inner Exception -> "The message received was unexpected or badly formatted."</p>
  
  <p>Does anyone have any idea whats going wrong here?</p>