A mensagem push não é enviada com certificado distribuído

Posso enviar uma notificação por push com o arquivo p12 do desenvolvedor usando o sandbox, mas meu aplicativo na appstore, uso o arquivo f12 do certificado de distribuição usando as mensagens gateway.push.apple.com não podem acessar os dispositivos.

Serviço de notificação por push ativado no certificado restrito, verifiquei em developer.apple.com, também estou tentando uma nova identificação de dispositivo. (não ID do dispositivo do desenvolvedor)

Como posso resolver meu problema? Você poderia me ajudar? onde esta meu erro?

Meu código C # como abaixo:

porta int = 2195;

    String hostname = "gateway.push.apple.com";

    String certificatePath = HttpContext.Current.Server.MapPath("distribution.p12");


    X509Certificate2 clientCertificate = new X509Certificate2(System.IO.File.ReadAllBytes(certificatePath), "xxx", X509KeyStorageFlags.MachineKeySet |
    X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

    X509Certificate2Collection certificatesCollection = new X509Certificate2Collection(clientCertificate);
    TcpClient client = new TcpClient(hostname, port);
    SslStream sslStream = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
    try
    {
        sslStream.AuthenticateAsClient(hostname, certificatesCollection, SslProtocols.Tls, true);
    }
    catch (Exception e)
    {
        throw (e);
        client.Close();
        return;
    }
    MemoryStream memoryStream = new MemoryStream();
    BinaryWriter writer = new BinaryWriter(memoryStream);
    writer.Write((byte)0); 
    writer.Write((byte)0);  //The first byte of the deviceId length (big-endian first byte)
    writer.Write((byte)32); //The deviceId length (big-endian second byte)
    //String deviceID = "f1430c99 910d292d 2f756294 f2f6b348 153bc215 d5404447 16b294eb fdb9496c";
    writer.Write(HexStringToByteArray(deviceID.ToUpper()));
    String payload = "{\"aps\":{\"alert\":\"" + Mesaj + "\",\"badge\":0,\"sound\":\"default\"}}";
    writer.Write((byte)0);
    writer.Write((byte)payload.Length);
    byte[] b1 = System.Text.Encoding.UTF8.GetBytes(payload);
    writer.Write(b1);
    writer.Flush();
    byte[] array = memoryStream.ToArray();
    sslStream.Write(array);
    sslStream.Flush();
    client.Close();

questionAnswers(0)

yourAnswerToTheQuestion