iphone - politica - ¿Creando un archivo.pem para APNS?
mdm google (10)
- >> tutorial propio de Apple << - es el único conjunto de instrucciones que he encontrado. Es sencillo y puedo confirmar que funciona brillantemente tanto en un servidor linux php como en un servidor Windows php.
Puede encontrar su proceso de creación de peones de 5 pasos directamente en la parte inferior de la página.
¿Cómo creo un archivo .pem para almacenar en el servidor de alojamiento para los datos de la carga APN?
Así es como lo hice en Windows 7, después de instalar OpenSSL (el enlace va al instalador de Win32, elige la última versión y no la ligera).
Con este método, solo necesita el archivo .cer
descargado de Apple.
c:/OpenSSL-Win32/bin/openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM
esto creará un archivo que luego deberá agregar su clave privada.
----- BEGIN PRIVATE KEY -----
MIIEuwIBADANBgkqhk .... etc.
MIIEuwIBADANBgkqhk .... etc.
MIIEuwIBADANBgkqhk .... etc.
MIIEuwIBADANBgkqhk .... etc.
----- END CLAVE PRIVADA -----
----- BEGIN CERTIFICATE -----
AwIBAgwIBADAwIBADA .... etc.
AwIBAgwIBADAwIBADA .... etc.
AwIBAgwIBADAwIBADA .... etc.
----- FIN CERTIFICADO -----
Eso es.
Esto es lo que hice, de: blog.boxedice.com y "iPhone Advanced Projects" capítulo 10 por Joe Pezzillo.
Con el aps_developer_identity.cer en el llavero:
- Inicie el Acceso a Llaveros desde su Mac local y desde el llavero de inicio de sesión, filtre por la categoría Certificados. Verá una opción ampliable llamada "Servicios de desarrollo de Apple".
- Haga clic derecho en "Apple Development Push Services"> Exportar "Apple Development Push Services ID123". Guarde esto como un
apns-dev-cert.p12
algún lugar donde pueda acceder a él. No es necesario ingresar una contraseña. El siguiente comando genera el certificado en el terminal de Mac para el formato PEM (Certificado de seguridad de correo mejorado por privacidad):
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
En el servidor, establezca el permiso de archivo de esta clave desencriptada utilizando chmod 400.
Existe una manera más fácil de crear un archivo .Pem si ya tiene el archivo apns p12 en el acceso a su llavero.
Abra la terminal e ingrese el siguiente comando:
Para Devlopment openssl pkcs12 -en apns-div-cert.p12 -out apns-div-cert.pem -nodes -clcerts
Para Production openssl pkcs12 -en apns-dist-cert.p12 -out apns-dist-cert.pem -nodes -clcerts
Cambie el nombre de su archivo P12 con este nombre: apns-div-cert.p12, de lo contrario, en lugar de esto, debe ingresar su nombre de archivo. ¡¡Gracias!!
Inicie la aplicación Terminal e ingrese el siguiente comando después de la solicitud
openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
Nunca recuerdo el comando openssl
necesario para crear un archivo .pem
, así que hice este script bash para simplificar el proceso:
#!/bin/bash
if [ $# -eq 2 ]
then
echo "Signing $1..."
if ! openssl pkcs12 -in $1 -out $2 -nodes -clcerts; then
echo "Error signing certificate."
else
echo "Certificate created successfully: $2"
fi
else
if [ $# -gt 2 ]
then
echo "Too many arguments"
echo "Syntax: $0 <input.p12> <output.pem>"
else
echo "Missing arguments"
echo "Syntax: $0 <input.p12> <output.pem>"
fi
fi
signpem.sh
, por ejemplo, signpem.sh
y guárdelo en la carpeta de su usuario ( /Users/<username>
?). Después de crear el archivo, realice chmod +x signpem.sh
para hacerlo ejecutable y luego puede ejecutar:
~/signpem myCertificate.p12 myCertificate.pem
Y myCertificate.pem
será creado.
Pasos:
- Crear una CSR usando el acceso a la cadena clave
- Crea un P12 usando el acceso a la cadena clave usando la clave privada
- APNS App ID y certificado
Esto le da tres archivos:
- La CSR
- La clave privada como un archivo p12 (
PushChatKey.p12
) - El certificado SSL,
aps_development.cer
Vaya a la carpeta donde descargó los archivos, en mi caso, el Escritorio:
$ cd ~/Desktop/
Convierta el archivo .cer en un archivo .pem:
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Convierta el archivo .p12 de la clave privada en un archivo .pem:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
Ingrese la contraseña de importación:
MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
Primero necesita ingresar la frase de contraseña para el archivo .p12 para que openssl pueda leerla. Luego debe ingresar una nueva frase de contraseña que se usará para encriptar el archivo PEM. Nuevamente para este tutorial usé "pushchat" como frase de contraseña de PEM. Deberías elegir algo más seguro. Nota: si no ingresa una frase de contraseña de PEM, openssl no dará un mensaje de error, pero el archivo .pem generado no tendrá la clave privada en él.
Finalmente, combine el certificado y la clave en un solo archivo .pem:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
Puedes echar un vistazo aquí. Tengo el proceso detallado descrito con las imágenes, desde la creación del certificado, hasta la clave de la aplicación para el perfil de aprovisionamiento, para eventualmente el pem. http://docs.moengage.com/docs/apns-certificate-pem-file
Sugeriría una solución mucho más simple. Solo usa Certifire .
Certifire es una aplicación de macOS que genera certificados de notificación push de Apple con solo un clic en un par de segundos.
Estos son los pasos:
1. Descargue la aplicación.
2. Inicie sesión usando las credenciales de su cuenta de Desarrollador de Apple.
3. Elija la aplicación ID
4. Haga clic en el botón "Generar"
5. ¡Ya terminaste!
Obtendrá certificados APN en formato .pem, así como en formato .p12. ¡Aún más, obtendrás también .pem y .p12 también (key + cert)!
¡Mucho más, también obtendrás versiones sin contraseña de todos estos certificados!
Fase de desarrollo:
Paso 1: Crear Certificado .pem desde el Certificado .p12
Comando: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Paso 2: Crea clave .pem desde la clave .p12
Comando: openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Paso 3: Opcional (si desea eliminar la frase de paso solicitada en el segundo paso)
Comando: openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
Paso 4: Ahora tenemos que combinar Key .pem y Certificate .pem para obtener Development .pem necesario para Push Notifications en la fase de desarrollo de la aplicación
Comando: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem (If 3rd step is performed )
Comando: cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem (if not)
Paso 5: verificar la validez del certificado y la conectividad con APNS
Comando: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem (If 3rd step is not performed )
Comando: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem (If performed )
Fase de producción:
Paso 1: Crear Certificado .pem desde el Certificado .p12
Comando: openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
Paso 2: Crea clave .pem desde la clave .p12
Comando: openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
Paso 3: Opcional (si desea eliminar la frase de paso solicitada en el segundo paso)
Comando: openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
Paso 4: Ahora tenemos que combinar Key .pem y Certificate .pem para obtener Production .pem necesario para Push Notifications en Production Phase of App
Comando: cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem (If 3rd step is performed )
Comando: cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem (if not)
Paso 5: verificar la validez del certificado y la conectividad con APNS
Comando: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem (If 3rd step is not performed )
Comando: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
(si se realiza)