web-dev-qa-db-fra.com

iOS - Comment vérifier si le fichier pem est valide ou non?

J'ai créé des fichiers PEM de développement et de production. J'ai suivi ces étapes:

1) developer.Apple.com: la section AppIDs vérifie que l’id du kit prend en charge le certificat SSL de développement Si non, créez ce certificat (qui prend en charge APNS)

2) porte-clés ouverte

3) clic droit sur notre certificat et certificat d'exportation.

4) vous obtiendrez le fichier .p12 à partir d’ici: comme: hope_APNS.p12

5) ouvrez la console (terminal) et exécutez la commande suivante (utilisez ici le fichier .p12 créé) Openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts

6) vous obtiendrez le fichier .pem pour le même. (comme hope_APNS.pem) 

Le fichier pem de développement fonctionne bien. Mais il y en a dans le fichier pem de production. Lorsque je configure le fichier PEM de production et envoie la notification Push depuis la console. Je ne vais pas avoir Push sur mon appareil.

14
Kirti Parghi

C'est un vieux fil, mais je cherchais la même réponse et j'espère que cette solution aidera quelqu'un ... à travailler pour moi.

Vous pouvez tester votre clé PEM à l'aide de la commande suivante, qui doit être suspendue si l'opération réussit jusqu'à ce que vous appuyiez sur Entrée:

openssl s_client -connect gateway.sandbox.Push.Apple.com:2195 -cert pnpush.pem -key pnpush.pem

Ce qui précède teste la clé PEM en mode bac à sable. Pour le mode de production, utilisez la commande suivante:

openssl s_client -connect gateway.Push.Apple.com:2195 -cert pnpush.pem -key pnpush.pem

Merci à Craig sur https://www.pubnub.com/knowledge-base/discussion/234/how-do-i-test-my-pem-key

26
Nowdeen

Il existe de nombreuses raisons pour lesquelles vous ne recevez peut-être pas de notifications Push via un certificat de production .pem sur votre appareil. En plus de vous assurer que vous avez généré le certificat de production distinct correctement, voici quelques points à vérifier:

  1. Une version ad-hoc ou de distribution est en cours d’exécution sur votre appareil de test lorsque vous testez un certificat de production.
  2. Vous avez collecté avec succès le jeton Push de production dudit périphérique (qui. Sera toujours différent du jeton de développement)
  3. Vous pouvez vous connecter aux serveurs PRODUCTION de notifications push Apple .__ (gateway.Push.Apple.com, port 2195) avec le nouveau certificat (c'est-à-dire / Vous êtes en mesure d'ouvrir une connexion socket et celle-ci ne ferme pas immédiatement)
  4. Vous avez vérifié que votre certificat n'a pas expiré

À défaut de tout cela, vous devez vraiment vérifier ce qui se passe au niveau du réseau lorsque vous envoyez quelque chose via ce certificat. S'il n'est pas valide, il ne se connectera pas du tout à Apple. S'il est valide mais que le jeton Push que vous envoyez n'est pas reconnu par Apple, un code d'erreur sera renvoyé (si vous utilisez l'interface binaire) ou la connexion sera interrompue. Vous voudrez peut-être aussi examiner l'API APNS Feedback pour mieux comprendre ce qui ne va pas.

Vous voudrez peut-être vérifier ceci répondre et ceci autre réponse pour plus de conseils.

0
Nick