create - openssl cer to pfx
aps_developer_identity.cer to p12 sin tener que exportar desde Key Chain? (3)
Impresionante trabajo aquí. Gracias por la ayuda real chicos. He dejado caer mi script de shell a continuación que puede ayudar a otros. Tengo varias de las claves para tratar y también quería un guión. Este script generará nombres estáticos para los archivos de salida (aunque eso sería fácil de cambiar).
Espero que ayude a alguien más.
Ejemplo de uso (asumiendo el nombre del script):
$ . thisScript request_file.cer priv_key.p12 aps_dev.cer
La secuencia de comandos:
if [ $# -ne 3 ]
then
echo "Error in $0 - Invalid Argument Count"
echo "Syntax: $0 request_cer_file p12_file app_cer_file output_filename"
echo " - request_cer_file is the request file you sent to apple"
echo " - p12_file is found in your keychain (it''s the private key)"
echo " - app_cer_file is found on App ID screen from Apple"
else
reqFile=$1
p12File=$2
cerFile=$3
certPEM=''apn_cert.pem''
pKeyPEM=''apn_pkey.pem''
pKeyNoEncPEM=''apn_pkey_noenc.pem''
p12FileOut=''apn_cert_key.p12''
# remove old
rm $certPEM
rm $pKeyPEM
rm $pKeyNoEncPEM
rm $p12FileOut
#convert *.cer (der format) to pem
openssl x509 -in $cerFile -inform DER -out $certPEM -outform PEM
#convert p12 private key to pem (requires the input of a minimum 4 char password)
openssl pkcs12 -nocerts -out $pKeyPEM -in $p12File
# if you want remove password from the private key
openssl rsa -out $pKeyNoEncPEM -in $pKeyPEM
#take the certificate and the key (with or without password) and create a PKCS#12 format file
openssl pkcs12 -export -in $certPEM -inkey $pKeyNoEncPEM -certfile $reqFile -name "apn_identity" -out $p12FileOut
#
#
# If all things worked then the following should work as a test
# openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apn_cert.pem -key apn_pkey_noenc.pem
#
#
echo "Looks like everything was successful"
echo "Test command:"
echo "openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apn_cert.pem -key apn_pkey_noenc.pem"
echo
fi
Tengo una gran cantidad de certificados ''aps_developer_identity.cer'' exportados desde el portal de desarrolladores de iPhone. Todos se crearon utilizando la misma Solicitud de firma de certificado y (por lo tanto) la misma clave privada. Si solo exporto la clave privada de Apple Key Chain, es posible tomar la clave privada y el ''aps_developer_identity.cer'' y usar openssl para crear el certificado p12 / pkcs # 12 combinado que puedo usar en mi servidor (Windows) .
Para ser claros, sé cómo obtener una p12 combinada del llavero mediante la exportación de la clave privada y el certificado juntos, pero quiero eliminar todos los clics adicionales del mouse y escribir, si puedo.
Me las arreglé para resolver esto, solo necesita envolverse en un script de shell y está listo. Supongo que ha descargado y renombrado su certificado ''apple_developer_identity.cer'', aquí uso ''test.cer'' y que también ha exportado su clave de desarrollador desde su llavero, en el ejemplo a continuación llamado ''private_dev_key.p12''.
#convert *.cer (der format) to pem
openssl x509 -in test.cer -inform DER -out test.pem -outform PEM
#convert p12 private key to pem (requires the input of a minimum 4 char password)
openssl pkcs12 -nocerts -out private_dev_key.pem -in private_dev_key.p12
# if you want remove password from the private key
openssl rsa -out private_key_noenc.pem -in private_key.pem
#take the certificate and the key (with or without password) and create a PKCS#12 format file
openssl pkcs12 -export -in test.pem -inkey private_key_noenc.pem -certfile _CertificateSigningRequest.certSigningRequest -name "test" -out test.p12
NOTA: Si cree que todo esto es un poco largo para lograr lo que se puede hacer con unos pocos clics del ratón y con la escritura del nombre de un archivo, considere el caso en el que tiene 20 aplicaciones que desea habilitar para las notificaciones. Cada aplicación tiene un certificado de desarrollo y producción, que vence en 4 y 12 meses respectivamente. Ese es un trabajo muy aburrido y propenso a errores ...
Puedes hacer el certificado p12 / pkcs # 12 directamente en el llavero. No hay necesidad de ejecutar ningún comando.
1.Haga clic en su archivo de certificado de desarrollador / producción descargado del sitio de Apple Dev. (Se agregará en el llavero)
2. Supongo que tiene un archivo .p12 que obtuvo al exportar una clave privada
3. Vaya a la pestaña Mis Certificados debajo del llavero.
simplemente haga clic en su certificado dev / prod para APN.it debería mostrar la clave privada asociada a él
4.Haga clic derecho y exportar certificado en formato .p12
Ese es el archivo .p12 final !!