2012-07-18 10 views
9

Tengo una aplicación para iPhone en la que estoy implementando notificaciones automáticas. Para eso creé un archivo csrfile, p12 y cer de producción. Notifiqué push para la id de la aplicación.Y el archivo de provisión se descargó.Y cuando me ejecuto en el dispositivo i obtuve una notificación de registro también. Pero cuando combiné el archivo pem del certificado y el archivo pem de la clave p12, y generé otro archivo pem y puse en mi servidor. Las notificaciones push no entran en mi teléfono. He usado estos comandos en los terminales para crear archivos.Creating.pem file for push notification?

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 

`¿alguien me puede ayudar a obtener el archivo pem correctamente?

+0

aquí: http://stackoverflow.com/a/1762824/624091, intente esto. – George

Respuesta

34

Después de conseguir el archivo p12, que necesita ser convertida al formato PEM mediante la ejecución de este comando desde el terminal:

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 

Si desea para eliminar la contraseña, o bien no establezca una hora de exportar/o ejecutar la conversión:

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

Fin aliado, es necesario combinar los archivos de clave y cert en un archivo de APN-dev.pem vamos a usar cuando se conecta a APN:

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

Esta es la manera de obtener el archivo PEM, para más detalles, véase my blog

+0

perfecto, me ayudó también. Gracias –

+2

Tuve que usar '' openssl pkcs12 -nocerts -in apple_push_dev.p12 -nodes -out y.pem'' para que empujara la clave en forma no encriptada (OpenSSL 1.0.1f) – NickZoic

11

Pruebe con estos comandos siguientes:

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

bueno también funciona –

0

Para la creación del archivo .pem debe seguir los pasos simples a continuación.

Aquí tienes.

Paso 1: Ingrese a su cuenta de Desarrollador, vaya a Portal de Aprovisionamiento, haga clic en "Certificados". Luego, haz clic en el botón '+'.

Paso 2: Seleccione la opción SSL (Producción) del servicio de notificación push de Apple en la sección Distribución, luego haga clic en "Continuar".

Paso 3: Seleccione la ID de aplicación que desea utilizar para su aplicación BYO (Cómo crear una ID de aplicación), luego haga clic en "Continuar" para ir al siguiente paso.

Paso 4: Siga los pasos "Acerca de crear una solicitud de firma de certificado (CSR)" para crear una solicitud de firma de certificado.

Paso 5: Cargue el archivo ".CSR" que se genera en el paso 4, luego haga clic en "Generar".

Paso 6: Haga clic en "Hecho" para finalizar el registro, la página del portal de aprovisionamiento de iOS cambiará la interfaz de usuario.

Paso 7: Ahora dirígete a "Llavero", busca el certificado que acabas de instalar. Si no está seguro de cuál es el certificado correcto, debería comenzar con "Servicios de inserción iOS de Apple Production" seguido del ID del paquete de su aplicación.

Paso 8: Ampliar el certificado, debe ver la clave privada con su nombre o nombre de su empresa. Seleccione ambos elementos con la tecla "Seleccionar" de su teclado, haga clic con el botón derecho (o haga clic con el botón derecho y haga clic si utiliza un solo botón del mouse), elija "Exportar 2 elementos". Luego guarde el archivo p12 con el nombre "yourselectedname.p12" en su Escritorio: ahora se le pedirá que ingrese una contraseña para protegerlo, puede hacer clic en Ingresar para omitir la contraseña o ingresar la contraseña que desee.

Paso 9: Ahora abierto "terminal" en tu Mac, y ejecute los siguientes comandos: cd

cd Escritorio
openssl pkcs12 -en pushcert.p12 salida privado pushcert.pem -nodes -clcerts

** hecho esto se han creado con éxito un certificado Apple push Notification (.pem) **

Cuestiones relacionadas