Saltar al contenido

¿Cómo importar el archivo x509.pem pk8 en jks-keystore?

Max, miembro de este gran equipo de trabajo, nos ha hecho el favor de escribir este tutorial ya que conoce muy bien este tema.

Solución:

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt

openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name android

keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias android

La respuesta de Fang es correcta, pero le faltaba una explicación. Tuve que descifrar un par de cosas para darle sentido, y aunque no estoy 100% seguro de todo lo que obtuve de mi experiencia, estoy bastante seguro de que podría ayudar a la gente, así que aquí va.

De antemano, asegúrese de tener Openssl y keytool instalados y agregados a su RUTA, de lo contrario, los comandos no funcionarán, por supuesto.

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt

Esto generará un archivo, “platform.priv.pem” a partir de su archivo pk8.

openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name KEY_ALIAS

Esto generará el archivo “platform.pk12” utilizando tanto su archivo “platform.x509.pem” como el “platform.priv.pem” generado anteriormente. los key alias es un valor de cadena que proporciona, puede ser cualquier cosa que desee, pero deberá recordarlo.

Después de ingresar este comando, se le solicitará una contraseña (y una confirmación de contraseña). Usted mismo definirá esta contraseña. será tu “key contraseña” y, por supuesto, también deberá recordarla.

keytool -importkeystore -destkeystore STORE_FILE_NAME.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass KEY_PASSWORD -alias KEY_ALIAS

El comando final en realidad hará una de dos cosas:

  • si el archivo jks especificado ya existe, importará (o anulará si existe) el key con el alias dado
  • si el archivo aún no existe, creará un nuevo archivo jks e importará su key con el alias dado
    De todos modos, el comando toma en el definido anteriormente key contraseña y key alias.

Una vez que se ingresa el comando, se le solicitará la contraseña de la tienda. Si ya existe JKS archivo, tendrá que proporcionar la contraseña de la tienda JKS ya existente.

Por lo demás, es nuevo. JKS usted define una nueva contraseña. Recuerda el valor que le das.

Al final del día, ha definido 4 valores:

  1. key alias
  2. key clave
  3. almacenar contraseña
  4. almacenar el nombre del archivo

Y eso es exactamente lo que necesitará el archivo Gradle de su proyecto de Android para firmar su APK

Expediente : [Android Project Root]/app/build.graddle

[...]
android 
    [...]
    signingConfigs 
        release 
            storeFile file("STORE_FILE_PATH*/STORE_FILE_NAME.jks")
            storePassword "STORE_PASSWORD"
            keyAlias "KEY_ALIAS"
            keyPassword "KEY_PASSWORD"
        
    
    [...]

[...]

* : la JKS El archivo probablemente debería colocarse dentro de su proyecto, para el control de versiones, pero también por simplicidad. Proporcione la ruta relativa desde su ubicación de build.graddle.

¡Espero que esto ayude!

Dado que el keytool-importkeypair solo funciona con un almacén de claves ya existente puede usar esta otra versión del script, que funcionará creando e importando su .x509.pem y .pk8 en un nuevo almacén de claves.

Aquí el script platform_import_keystore

Comentarios y puntuaciones del artículo

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *