2012-07-18 15 views
9

Ho un'applicazione IPhone in cui sto implementando le notifiche push. Per questo ho creato un file csrfile, file p12 e la notifica cer.Enabled di notifica push per l'ID app.E il file di provisioning scaricato.E quando eseguo sul dispositivo i è arrivata anche una notifica di registrazione. Ma quando ho unito il file pem dal certificato e il file pem dalla chiave p12, e ho generato un altro file pem e inserito nel mio server. Le notifiche push non sono arrivate sul mio telefono. Ho usato questi comandi sui terminali per creare file.Creazione del file .pem per la notifica push?

openssl x509 -in aps_production.cer -inform der -out phoneapp.pem 

openssl pkcs12 -nocerts -out phoneappKey.pem -in veapp.p12 

cat phoneapp.pem phoneappKey.pem > applicationwebservice.pem 

`Qualcuno può aiutarmi a ottenere il file PEM correttamente?

+0

qui:! http://stackoverflow.com/a/1762824/624091, provare questo. – George

risposta

34

Dopo aver ottenuto il file p12, ha bisogno di essere convertito nel formato PEM eseguendo questo comando dal terminale:

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12 
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12 

Se lo si desidera per rimuovere la passphrase, non impostarne uno durante l'esportazione/conversione o l'esecuzione:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem 

Fin alleato, è necessario combinare i file di chiave e cert in un file APN-dev.pem useremo durante la connessione al APNS:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem 

questo è il modo per ottenere il file PEM, per maggiori dettagli fare riferimento my blog

+0

perfetto, mi ha aiutato pure. Grazie –

+2

Ho dovuto usare '' openssl pkcs12 -nocerts -in apple_push_dev.p12 -nodes -out y.pem'' per farlo spingere la chiave in forma non criptata (OpenSSL 1.0.1f) – NickZoic

11

Prova con questi comandi di seguito:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 

openssl pkcs12 -nocerts -out key.pem -in key.p12 

openssl rsa -in key.pem -out key.unencrypted.pem 

cat cert.pem key.unencrypted.pem > ck.pem 
+0

buono funziona anche –

0

Per la creazione del file .pem è necessario seguire i semplici passaggi seguenti.

Ecco qui.

Passaggio 1: Accedi al tuo account sviluppatore vai al portale di provisioning, fai clic su "Certificati". Quindi, fai clic sul pulsante '+'.

Fase 2: Seleziona Apple Push Notification servizio SSL (Produzione) opzione ai sensi della sezione di distribuzione, quindi fare clic su "Continua".

Passaggio 3: selezionare l'ID applicazione che si desidera utilizzare per l'app BYO (Come creare un ID app), quindi fare clic su "Continua" per andare al passaggio successivo.

Passaggio 4: Seguire i passaggi "Informazioni sulla creazione di una richiesta di firma del certificato (CSR)" per creare una richiesta di firma del certificato.

Fase 5: Caricare il file ".CSR" che è generato al punto 4, quindi fare clic su "Generate".

Passo 6: Fare clic su "Fine" per terminare la registrazione, il Portale IOS Provisioning pagina sarà cambiare l'interfaccia utente.

Passaggio 7: Ora andare su "Portachiavi", cercare il certificato appena installato. Se non sei sicuro di quale certificato è corretto, dovrebbe iniziare con "Servizi di IOS Push di Apple Production", seguito dall'ID del bundle della tua app.

Passaggio 8: Espandere il certificato, è necessario visualizzare la chiave privata con il proprio nome o il nome dell'azienda. Seleziona entrambi gli elementi utilizzando il tasto "Seleziona" sulla tastiera, fai clic con il pulsante destro del mouse (o cmd-clic se usi un mouse con un solo pulsante), seleziona "Esporta 2 elementi". Quindi salva il file p12 con il nome "yourselectedname.p12" sul desktop - ora ti verrà richiesto di inserire una password per proteggerlo, puoi fare clic su Invio per saltare la password o inserire una password che desideri.

Passo 9: Ora aperto "Terminale" sul vostro Mac, ed eseguire i seguenti comandi:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

** FATTO È stato creato un Certificato Apple push Notification (file .pem) **