¿Cómo creo un archivo .pem para almacenar en el servidor de alojamiento para datos de carga APN?Creando archivo .pem para APNS?
Respuesta
Esto es lo que hice, De: blog.boxedice.com y "iPhone Advanced Projects" capítulo 10 porJoe Pezzillo.
Con la aps_developer_identity.cer en el llavero Llavero
- lanzamiento Acceso desde su Mac local y de la llave de acceso, filtro por la categoría Certificados. Verá una opción ampliable llamada "Servicios de Apple Development Push"
- Haga clic derecho en "Apple Development Push Services"> Exportar "Apple Development Push Services ID123". Guarde esto como archivo
apns-dev-cert.p12
en algún lugar donde pueda acceder a él. No es necesario ingresar una contraseña. El siguiente comando genera el certificado en la Terminal de Mac como formato PEM (Privacy Enhanced certificado de seguridad de correo):
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
En el servidor de establecer el permiso de archivo de esta clave no cifrada usando chmod 400.
He seguido los pasos anteriores y ahora está funcionando. He conservado el certificado y la secuencia de comandos php en mi servidor web local (Xampp). Puedo obtener el token del dispositivo, y lo estoy usando en el script php. La secuencia de comandos php es capaz de conectarse y enviar datos de carga útil. Pero aún así no puedo recibir la notificación PUSH. ¿Cuál es el problema? ¿Las notificaciones tardan en llegar? – Biranchi
'chmod 400' SÍ !!!!!! esto es lo que necesitaba hacer –
usando esto, he creado claves y permisos modificados también. Pero aún así, no puedo conectarme al servidor APNS y el comando de retroalimentación todavía está regresando '#
- >>Apple's own tutorial < < - 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.
¡Sí! Solo sigue el sencillo tutorial. Solo un simple comando openssl. No sé si es importante, pero ejecuté el comando haciendo SSH en el servidor que se conecta a APNS. – tylerl
@tylerl, el PEM se puede generar desde cualquier máquina; no tiene que ser el servidor en el que residirá. – capikaw
¿Debo ejecutar este proceso en el servidor en el que se implementa el código php? o puedo usar el archivo .pem generado desde mi Mac? – Jatin
lanzamiento de la aplicación Terminal e introduzca el siguiente comando después del indicador
openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
Después de generar un p12, esta debería ser la respuesta. – Stone
Ésta es la forma en que lo hice en Windows 7, después de instalar OpenSSL (enlace va al instalador Win32, elija la versión más reciente y no la versión 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 también su clave privada.
----- BEGIN PRIVATE KEY -----
MIIEuwIBADANBgkqhk .... etc
MIIEuwIBADANBgkqhk .... etc
MIIEuwIBADANBgkqhk .... etc ....
MIIEuwIBADANBgkqhk etc
FIN ----- ----- CLAVE PRIVADA
----- BEGIN CERTIFICATE -----
AwIBAgwIBADAwIBADA .... etc
AwIBAgwIBADAwIBADA .... etc
AwIBAgwIBADAwIBADA. ... etc
----- CERTIFICAR CERRAR -----
Eso es todo.
Pasos:
- Crear un CSR Usando llavero acceso
- Crear un P12 Usando clave de acceso cadena utilizando la clave privada
- APN ID de aplicación y el certificado
Esto le da tres archivos:
- The C SR
- La clave privada como un archivo de p12 (
PushChatKey.p12
) - El certificado SSL,
aps_development.cer
Vaya a la carpeta en la que descargó los archivos, en mi caso el escritorio:
$ cd ~/Desktop/
convertir el archivo .cer en un archivo .pem:
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Convertir archivo de la clave privada en un archivo .p12 .pem:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
Introduzca importación Contraseña:
MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
Primero tiene que introducir la contraseña para la p.12 archivo para que openssl pueda leerlo. 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 mostrará un mensaje de error, pero el archivo .pem generado no tendrá la clave privada en él.
Por último, combinar el certificado y la clave en un único archivo .pem:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
Fase de desarrollo:
Paso 1: Crear certificado .pem del Certificado p.12
Comando:openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Paso 2: Crear clave .pem desde la tecla.p12
Comando:openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Paso 3: opcional (Si desea eliminar frase de pedido en la segunda etapa)
Comando:openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
Paso 4: Ahora tenemos fusionar la Clave .pem y Certificado .pem para obtener Desarrollo .pem necesario para Notificaciones Push en la Fase de Desarrollo de la Aplicación
Comandante d: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: Comprobar la validez del certificado y conectividad a APN
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)
P roducción Fase:
Paso 1: Crear certificado .pem del Certificado p.12
Comando:openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
Paso 2: Crear .pem llave de la llave p.12
de comando:openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
Paso 3: Opcional (Si desea eliminar frase de pedido en la segunda etapa)
Comando:openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
Paso 4: Ahora tenemos que combinar el .pem clave y el certificado .pem para obtener .pem producción necesaria para notificaciones push en fase de producción de Aplicación
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: Comprobar la validez del certificado y la conectividad a APN
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)
Gracias, este es el único aquí que funcionó para mí. –
¡Lo guardé en mi preciosa bóveda! : P ¡La mejor respuesta de la historia! – Blackening
Eres un dios, esto funciona gracias. UP VOTO. Esta debería ser la respuesta porque profundiza en cómo crearla paso a paso – MNM
Puede 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
No recuerdo el comando openssl
necesaria 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
que sea, por ejemplo, signpem.sh
y guardarlo en su usuario de carpeta (/Users/<username>
?). Después de crear el archivo, hacer una chmod +x signpem.sh
para que sea ejecutable y luego se puede ejecutar:
~/signpem myCertificate.p12 myCertificate.pem
Y myCertificate.pem
se creará.
Sugeriría una solución mucho más simple. Solo use Certifire.
Certifire es una aplicación 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 con 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 está!
Obtendrá certificados APN en formato .pem, así como en formato .p12. ¡Aún más, también obtendrás .pem y .p12 (clave + cert)!
¡Mucho más, también obtendrá versiones sin contraseña de todos estos certificados!
Hay una manera más fácil de crear .PEM archivo si ya ha APN archivo de p12 en el acceso del llavero.
Abrir el terminal y escriba el siguiente comando:
Para Devlopment openssl pkcs12 -en APN-div-cert.p12 salida privado -nodes APN-div-cert.pem -clcerts
para Producción openssl pkcs12 -en APN-dist-cert.p12 salida privado -nodes APN-dist-cert.pem -clcerts
Cambiar el nombre de su archivo P12 con este nombre: APN-div-cert.p12 lo contrario en lugar de esto necesitas ingresar y nuestro nombre de archivo ¡¡Gracias!!
- 1. Conectando a APNS para iPhone usando Python
- 2. Convertir P12 a PEM usando PHP y OpenSSL
- 3. Convierta el archivo .p12 a .pem usando la aplicación Terminal en Mac ¿Error de "No existe ese archivo o directorio"?
- 4. MDM - APNS no funciona
- 5. Creando el certificado google oauth X.509 en formato PEM dentro de Mac OS X
- 6. Cargar un archivo PEM X509 en Windows CryptoApi
- 7. ¿Dónde se especifica el formato de archivo PEM?
- 8. ¿Cómo convierto una clave XML RSA en un archivo PEM?
- 9. Creando archivo Zip usando SharpZipLib
- 10. Creando archivo zip en Java
- 11. ¿Cómo puedo obtener SecKeyRef desde el archivo DER/PEM
- 12. ¿El archivo .pem contiene claves privadas y públicas?
- 13. ¿Qué es un archivo .pem y cómo usarlo?
- 14. Error de Java APNS (Servicio de notificación push de Apple)
- 15. APNS sin insignia/Alerta/Sonido
- 16. ¿Cómo usar el archivo .key y .pem para crear un socket SSL en Android?
- 17. ¿Cómo usar el archivo PEM para crear un socket SSL en Java?
- 18. Cómo convertir .crt a .PEM
- 19. Usando java-apns para detectar problemas con push
- 20. creando borde para uitableview
- 21. Creando filtros para auto_html
- 22. Creando el archivo CMakeLists desde Makefile existente
- 23. Creando hash para la carpeta
- 24. ¿Puedo usar apns oficiales (o apns fáciles) con la notificación push?
- 25. Creando un archivo seguro sin hilos shared_ptr
- 26. Cómo convertir un archivo .p12 a un archivo .pem usando Terminal?
- 27. Creando un archivo PNG en Python
- 28. Creando una carpeta usando el archivo bat
- 29. creando el archivo .lib en Visual Studio
- 30. Creando un archivo .config personalizado en asp.net
¿Puedo usar .p12 para apns en lugar de .pem? –
FYI definición de .pem: https://serverfault.com/a/21158/193377 PEM solo no es un certificado, es solo una forma de codificar datos. ... es seguro pegar en el cuerpo de un mensaje de correo electrónico porque tiene líneas de anclaje y está limpio en 7 bits. – AnneTheAgile
https://iosdevcenters.blogspot.com/2017/09/how-to-create-pem-file-for-apns-ios.html –