3

J'utilise PushSharp pour envoyer une notification Apple Push en C#, j'ai mon fichier .pem de production et son mot de passe. Ci-dessous est mon code snippet.Am toujours obtenir cette erreur ..Notification Pushsharp Apple Un appel à l'erreur SSPI a échoué

"A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The message received was unexpected or badly formatted-" 

OU

"System.IO.IOException: Authentication failed because the remote party has closed the transport stream." 

J'ai essayé presque tous les codes disponibles dans net.Even essayé MoonAPNS mais même erreur, pour le script personnalisé suis aussi obtenir cette erreur de défaillance SSPI. J'utilise le même fichier .pem et exécute un script php pour envoyer une notification push à APN depuis le même serveur, ça marche.

var push = new PushBroker(); 
var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ck.pem")); 
push.RegisterAppleService(new ApplePushChannelSettings(false, appleCert, "pwd")); 
push.QueueNotification(new AppleNotification() 
              .ForDeviceToken("XXXXXXXXXXXXXXX") 
              .WithAlert("Hello World!") 
              .WithBadge(7) 
              .WithSound("sound.caf")); 


       LogManager.Info("Waiting for Queue to Finish.."); 
       push.StopAllServices(); 

S'il vous plaît aider Merci à l'avance

Répondre

1

Je pense que votre C# peut être incorrect, Pour vérifier, plutôt que d'un .pem, pouvez-vous essayer avec votre p12 cert en utilisant le code ci-dessous comme un test. ..

Boolean bsandbox = true; 
    string p12fileName =AppDomain.CurrentDomain.BaseDirectory + "yourCert.p12"; 
    string p12password = "1234"; 

    string deviceID1 = "2909b25e0c699b2dc4864b4b9f719e67aac7e0fab791a72a086ffb788ba28f6a"; // 
    string msg = "This is the message sent at : "; 
    string alert = "Hello world at " + DateTime.Now.ToLongTimeString(); 
    int badge = 1; 
    string soundstring = "default"; 
    var payload1 = new NotificationPayload(deviceID1, alert, badge, soundstring); 
    payload1.AddCustom("custom1", msg); 

    var notificationList = new List<NotificationPayload> { payload1 }; 



    var push = new PushNotification(bsandbox, p12fileName, p12password); 

    var rejected = push.SendToApple(notificationList);` 
+0

Oui John ... Vous avez raison. Son fichier p12 en utilisant pour pousser forte. J'utilisais le fichier pem. Problème résolu avec le fichier p12. Merci – ramesh

+0

plaisir d'aider! – Woodstock

+0

J'utilise le même code pour pousser et je reçois une exception: Vous avez sélectionné le serveur Développement/Bac à sable (pas de production), mais votre certificat ne semble pas être le certificat de développement/bac à sable! S'il vous plaît vérifier pour vous assurer que vous avez le bon certificat! – Legnus

Questions connexes