2011-10-10 6 views
10

Sto provando a testare le notifiche push per la mia app, ma non riesco a collegarmi alla sandbox di Apple con il mio certificato e la chiave privata. Sto seguendo this tutorial.Problema di connessione notifica push Apple - verifica chiave mancata corrispondenza messaggio chiave privata

ho creato un nuovo certificato e App ID per il tutorial, impostare una chiave privata, e ha generato i file .pem per il certificato e la chiave privata:

openssl x509 -in aps_developer_identity.cer -inform der -out PushTestCert.pem 
openssl pkcs12 -nocerts -out PushTestKey.pem -in PushTestKey.p12 

Per la chiave privata, mi chiede di inserire la password originale, la chiave e una nuova. Ho usato la stessa password.

Poi ho verificare la connessione ad Apple e sono richiamato per la mia password, e ho immettere la nuova password per il file .pem chiave, che è lo stesso che la vecchia password:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushTestCert.pem -key PushTestKey.pem 
Enter pass phrase for PushTestKey.pem: 
error setting private key 
59244:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:/SourceCache/OpenSSL098/OpenSSL098-35.1/src/crypto/x509/x509_cmp.c:406: 

C'è qualcosa Mi manca? Sul portale di provisioning di iOS, il mio ID app dice che è abilitato per lo sviluppo (push). Ho provato a rieseguire il download del certificato openssl, senza sigaro.

risposta

0

ripristina il portachiavi di login e ha iniziato da zero sulle ios provisioning portale. Penso di avere una chiave in più da qualche parte che interferiva.

0

La crittografia a chiave privata è obbligatoria? In caso contrario, provare a rimuovere la crittografia, in questo modo: openssl rsa -in PushTestKey.pem -out PushTestKey.unencrypted.pem

+0

alla fine, sì. ma ci proverò in questo modo domani. – nflacco

1

Solo per il follow-up, il motivo per cui questo probabilmente sta accadendo è che non hai usato la nuova chiave pubblica per generare un certificato di notifica push per la tua app in developer.apple.com. Quindi non può corrispondere, perché la chiave privata non corrisponde alla chiave pubblica utilizzata per generare il certificato di notifica push