¿Cómo manejar una contraseña perdida de KeyStore en Android?

Olvidé la contraseña de mi keystore y ya no sé qué hacer (no puedo o no daré excusas). Quiero actualizar mi aplicación porque acabo de corregir un error, pero ya no es posible. ¿Qué sucede si uso el mismo almacén de claves pero creo una nueva clave? ¿Todavía podría actualizar la aplicación y, si no es posible, cómo puedo proporcionar información a los usuarios sobre la versión actualizada?

Si alguien ha tenido un problema como este o ha tenido problemas, ¿qué consejos puede dar para ayudar a remediar la situación? Afortunadamente, es una aplicación gratuita.

Ver este enlace

Es desafortunado, pero cuando pierde su almacén de claves, o la contraseña de su almacén de claves, su aplicación queda huérfana. Lo único que puede hacer es volver a enviar su aplicación al mercado con una nueva clave.

SIEMPRE realice una copia de seguridad de su almacén de claves y escriba las contraseñas en un lugar seguro.

Acabo de encontrarme con este problema, afortunadamente pude encontrar la contraseña en algún archivo temporal de Gradle. En caso de que alguien aterrice aquí, intente buscar

..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin 

Estaba allí en texto claro. En general, si recuerda al menos parte de su contraseña, intente buscar un archivo que contenga esta subcadena y con suerte podrá pescar algo.

Quería tirarlo aquí, tal vez eventualmente ayude a alguien.

En caso de que se proporcione una contraseña incorrecta, aunque solo sea una vez, sigue diciendo en los próximos bashs:

Keystore manipulado o contraseña incorrecta.

Incluso cuando proporcionas la correcta. Lo intenté varias veces, tal vez es algún tipo de protección.
Cierre el asistente de exportación y vuelva a iniciarlo con la contraseña correcta, ahora funciona 🙂

Brute es tu mejor apuesta!

Aquí hay un script que me ayudó:

https://code.google.com/p/android-keystore-password-recover/wiki/HowTo

Opcionalmente puede darle una lista de palabras que la contraseña puede incluir para una recuperación muy rápida (para mí funcionó en <1 seg)

En una utilidad de consola de lanzamiento MAC y desplazado hacia abajo a ~ / Library / Logs -> AndroidStudio -> idea.log.1 (o cualquier número de registro anterior) Luego busqué “keystore” y debería aparecer en algún lugar de los registros.

Pregunta original: enlace

De hecho, perder la keystore password no es un problema.
Puede crear un nuevo almacén de claves y establecer una nueva contraseña para él con el comando keytool a continuación. No necesita una contraseña de almacén de claves original para ello:

keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore

Cuando se le solicite, cree una contraseña para su new.keystore y para la contraseña del almacén de claves de origen (que ha perdido) simplemente presione Enter .
Recibirá una advertencia sobre la integridad no verificada, y obtendrá su nuevo.keystore idéntico al original con la nueva contraseña establecida.

La razón por la que esto funciona es que la keystore password solo se usa para proporcionar integridad del keystore de keystore , no cifra los datos con ella, a diferencia de private key password , que en realidad mantiene cifrada su clave privada.

Tenga en cuenta que debe conocer la private key password su private key password para firmar sus aplicaciones. Bueno, si es lo mismo que la keystore password olvidado, entonces puedes recurrir a bruteforce como en la respuesta de @Artur.

Este enfoque siempre funcionó para mí.

Siento que necesito hacer una respuesta porque esto no podría ser solo en los comentarios. Like @ ElDoRado1239 dice en su respuesta (no te olvides de invitar a su respuesta;)

  • Busca ..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin en mi caso estaba en ..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.bin porque uso gradle 2.2.1
  • Luego busque storePassword como @Moxet Khan dice en los comentarios … en mi caso estaba en la línea signingConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias

¡Espero ayudar a alguien más!

Afortunadamente, encontré mi contraseña perdida junto con la ruta del almacén de claves y el nombre de alias de mis registros de estudio de Android.

si está ejecutando máquinas basadas en Linux / Unix.

Navega al directorio de registros de biblioteca

 cd ~/Library/Logs/ 

allí si recuerdas la versión de tu estudio de Android que usaste para comstackr la última versión de APK. Navega hacia ese directorio

ex: cd AndroidStudio1.5 /

Allí encontrarás los archivos de registro. en cualquiera de los archivos de registro (idea.log) encontrará sus credenciales de almacén de claves

ejemplo

 -Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, -Pandroid.injected.signing.store.password=mystorepassword, -Pandroid.injected.signing.key.alias=myandroidkey, -Pandroid.injected.signing.key.password=mykeypassword, 

Espero que esto ayude a los usuarios de Android Studio

Para cualquier otra persona que pueda toparse con esto, quería compartir una respuesta que pueda ser el caso para usted o para otros que naveguen por este artículo (como yo).

Estoy usando Eclipse y creé mi keystore para mi versión 1.0. Avance rápido 3 meses y quería actualizarlo a 1.1. Cuando elegí Exportar … en Eclipse y elegí ese almacén de claves, ninguna de las contraseñas que podía recordar funcionaba. Cada vez decía “Keystore manipulado o contraseña incorrecta”. Llegué a un punto en el que me estaba preparando para ejecutar un progtwig de fuerza bruta durante el tiempo que pudiera soportar (una semana más o menos) para intentar que funcione.

Afortunadamente, firmo mi archivo .apk sin firmar fuera de Eclipse. Voila – funcionó! ¡Mi contraseña ha sido correcta todo el tiempo! No estoy seguro de por qué, pero al firmarlo en Eclipse a través del menú Exportar estaba informando un error incluso cuando mi contraseña era correcta.

Entonces, si obtiene este error, estos son mis pasos (tomados de la documentación de Android ) para ayudarlo a preparar su apk para el mercado.

NOTA: Para obtener un apk sin firmar de Eclipse: haga clic con el botón derecho en Proyecto> Herramientas de Android> Exportar solicitud sin firmar

  1. Firme archivo apk sin firmar con keystore

    a. abra el indicador de cmd del administrador y vaya a “c: \ Archivos de progtwig \ Java \ jdk1.6.0_25 \ bin” o la versión de java que tenga (donde haya copiado el archivo apk sin firmar y su almacén de claves)

    segundo. en el indicador de cmd con el archivo de almacén de claves y la apk sin firmar en el mismo directorio, escriba este comando: jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore

    do. dirá: “Ingrese la frase de contraseña para el almacén de claves:”. Ingresa y presiona Volver.

    re. ===> El éxito se ve así:

     adding: META-INF/MANIFEST.MF ... signing: classes.dex 

    mi. la versión sin firmar se sobrescribe en su lugar, por lo que su archivo apk firmado ahora está en el mismo nombre que el sin firmar

  2. Utilice ZipAlign para compactar el archivo apk firmado para su distribución en el mercado

    a. abra el indicador del cmd del administrador y vaya a “c: \ AndroidSDK \ tools” o donde haya instalado el SDK de Android

    segundo. ingrese este comando: zipalign -v 4 signed.apk signedaligned.apk

    do. ===> El éxito se ve así:

     Verifying alignment of signedaligned.apk (4) 50 META-INF/MANIFEST.MF (OK - compressed) ... 1047129 classes.dex (OK - compressed) Verification succesful 

    re. el archivo firmado y alineado está en signedaligned.apk (el nombre de archivo que especificó en el comando anterior)

========> LISTO PARA ENVIAR AL MERCADO

Después de pasar casi un día investigando las posibles opciones para recuperar la contraseña perdida del almacén de claves en Android Studio. Encontré las siguientes 4 formas posibles de hacerlo:

  1. Use AndroidKeystoreBrute para recuperar su contraseña. Este método es bastante útil cuando olvida su contraseña parcialmente, lo que significa que todavía tiene algunas pistas de su contraseña en mente.

  2. También puede recuperarlo a través de los archivos de registro de Android Studio si ha liberado previamente la aplicación (para la que busca la contraseña del almacén de claves) con la misma máquina. Consulte el siguiente directorio:

    Mac OS X

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (Posible ubicación)

    / home / user_name / AndroidStudio / system / log

    Windows (ubicación posible)

    C: \ Users \ user_name \ AndroidStudio \ system \ log

    y busque Pandroid.injected.signing.key.password dentro del archivo. Verás la contraseña si ya has firmado la aplicación con la misma versión de Android Studio en la que estás buscando actualmente.

  3. También puede recuperar la contraseña a través del directorio .gradle de su proyecto. Busque la siguiente ruta

    project_directory / .gradle / 2.4 / taskArtifacts / taskArtifacts.bin.

    Nota: Esto no parece funcionar para las versiones más nuevas de Gradle (2.10 y superior).

  4. Si ninguna de las soluciones anteriores funciona, puede probar esta, pero para esta también debe tener la aplicación IDE de Android Studio o sus preferencias en las que se haya guardado la contraseña de su almacén de claves del proyecto anteriormente (utilizando la opción Recordar contraseña en el momento de la firma aplicación). Puede obtener las preferencias IDE de la siguiente ruta:

    Mac OS X

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (Posible ubicación)

    / home / user_name / AndroidStudio

    Windows (ubicación posible)

    c: \ user \ username \ .AndroidStudio

    Simplemente use el IDE de Android Studio anterior si tiene o importe las preferencias del antiguo IDE en un nuevo IDE y también coloque el archivo de almacén de claves en la misma ruta donde estaba anteriormente cuando lo había firmado y guarde la contraseña la última vez.

    De esta forma, una vez que abra el proyecto, intente Generar-> Generar APK firmado y seleccione el archivo del almacén de claves desde la ubicación anterior. Recuperará automáticamente la contraseña y continuará generando la APK firmada para su lanzamiento.

    Una vez que la versión APK se genera correctamente, puede seguir la opción 2 mencionada anteriormente para verificar su contraseña desde su archivo de registro para la versión de lanzamiento recientemente creada.

Primero descargue AndroidKeystoreBrute_v1.05.jar y luego siga la imagen dada. enter image description here

prepare un archivo de lista de palabras como (wordlist.txt), en ese archivo, dé su pista como

Pista de la contraseña:

usuarios

Usuarios

Contraseña

contraseña

pa55word

Contraseña

@

*

#

ps

&

1

2

123

789

U obtendrá su contraseña.

Puede ser un poco tarde pero ayudará a alguien con seguridad. Puede buscar la contraseña si recuerda algo; de lo contrario, intente buscar como

signingConfig.storePassword

también si olvidó el alias clave, puede encontrarlo aquí que también busca algo como signingConfig.keyAlias

Project.gradle \ 3.3 \ taskArtifacts \ taskArtifacts.bin

Espero que ayude a alguien

Zach Klippenstein en Google+ tuvo el mismo problema que tú. Puedes seguir el hilo aquí .

La fuerza bruta de Android no funcionará si sus dos contraseñas son diferentes, por lo que la mejor opción podría ser intentar encontrar el archivo llamado

log.idea

en su C: / users / su cuenta nombrada, entonces puede encontrar que allí, en la carpeta de Android, abra ese archivo lpg.idea en el bloc de notas y luego busque

alias

utilizando la opción de búsqueda en el bloc de notas, encontrará que la contraseña y los alias y alias de los passwors se han mostrado allí

He encontrado la contraseña en

 C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt 

Buscar

 Pandroid.injected.signing.store.password 

Para resumir hay 3 respuestas a esta pregunta (y la solución no está dada por la respuesta aceptada):

  1. Si tiene sus registros intactos, puede encontrar la contraseña en los archivos de registro de Android Studio según la respuesta anterior de Georgi Koemdzhiev .

  2. Puede recuperar la contraseña del archivo ‘taskArtifacts.bin’ en su directorio .gradle según las respuestas anteriores de ElDoRado1239 y Gueorgui Obregón . Esto no parece funcionar para versiones más nuevas de Gradle (2.10 y superior).

  3. Utilice AndroidKeystoreBrute para adivinar o aplicar una fuerza bruta a su contraseña según la respuesta de Srinivas Keerthiprakasam anterior.

Todas estas 3 soluciones están cubiertas en profundidad en este enlace .

En mi caso, estaba obteniendo el nombre del alias incorrecto, aunque guardé la contraseña correcta. Así que pensé que era la contraseña incorrecta (usando el paquete iónico), así que usé este comando para obtener el nombre del alias

keytool -list -v -keystore

¡Y pude usar el almacén de claves de nuevo!

C: \ Users \ admin \ AndroidStudioProjects \ TrumpetTVChannel2.gradle \ 2.14.1 \ taskArtifacts \ taskArtifacts.bin

Primero intente crear un nuevo almacén de claves … luego abra taskArtifacts.bin con el bloc de notas y busque la contraseña que acaba de proporcionar … podrá descifrar palabras cercanas a la contraseña que acaba de dar y luego buscar estas palabras cerca de su contraseña en el mismo archivo … podrá averiguar la contraseña ….. 🙂

Ir a la tareaHistoria

Finalmente encontré la solución después de pasar dos días …

Sigue estos pasos:

  1. Ir al proyecto
  2. En .gradle, encuentre su carpeta de la versión gradle en mi caso fue 4.1 (consulte la imagen)
  3. expanda la carpeta 4.1 y luego en la carpeta taskHistory encontrará el archivo taskHistory.bin.
  4. Abra el archivo taskHistory.bin en el estudio de Android.
  5. Busque “.storePassword” .. Eso es lo que obtuvo la contraseña de su keystore.

Esto realmente funcionó para mí.

¡Prueba esto y feliz encoding!

Agregar esto como otra posibilidad. La respuesta puede estar debajo de sus narices, en el archivo build.gradle de su aplicación si ha especificado una configuración de firma en algún momento del pasado:

 signingConfigs { config { keyAlias 'My App' keyPassword 'password' storeFile file('/storefile/location') storePassword 'anotherpassword' } } 

¿Te sientes con suerte?

Tuve el mismo problema de una vez. Aunque con la firma de aplicaciones de Google Play, perder KeyStore o su contraseña no es tan grave como antes, aún como desarrollador preferimos cambiar su contraseña y usar un archivo de almacén de claves generado sin esperar unos días para que Google lo administre. (Para manejar este problema con google use este enlace para realizar una solicitud) Para manejar este problema por nosotros mismos, primero descargue dos archivos .java de este enlace . Luego compile el comando ChangePassword.java by javac ChangePassword.java . Luego, después de que puedas correr

 java ChangePassword   

Cambie oldKeystoreFileName.keystore con la ruta / nombre de su archivo de almacén de claves actual y newKeystoreFileName.keystore con la ruta / nombre del nuevo archivo de almacén de claves generado. Esto te promocionará

Ingrese la contraseña del almacén de claves:

. Solo ingrese lo que prefiera 🙂 no es necesario que sea la contraseña original que perdió. Luego ingrese la nueva contraseña con *

nueva contraseña del almacén de claves:

  • Voila, eso es todo. Esto no cambiará la sum de comprobación de tu almacén de claves y no generará ningún problema al iniciar sesión en la aplicación o al subirlo a los eventos de play.google.

No es necesario usar la fuerza bruta de una manera simple para encontrar su contraseña de texto sin formato.

ir:

 C:\Users\\AndroidStudioProjects\WhatsAppDP\.gradle\2.2.1\taskArtifacts 

Abierto:

 taskArtifacts.bin 

cuando abra taskArtifacts.bin podría parecer encriptado, no se preocupe por esa búsqueda de “.keyPassword” un par de veces. Luego encontrará su contraseña en texto plano. Puede parecerse a:

 signingConfig.keyPassword¬í t Æù 

Espero que esto haya sido útil.

Bien, para buscar la contraseña perdida del almacén de claves puede intentar esto. Para mí, la siguiente solución funcionó bastante bien.

encuentre los archivos de registro de ideas en ~/Library/Logs/AndroidStudio2.0 . También puede encontrarlos abriendo Android Studio-> Help-> Show Log in File manager.

Abra el archivo idea.log . Nota: Puede haber varios archivos llamados idea.log.1 , idea.log.1 , etc. Mire a través de cada uno de ellos hasta encontrar la contraseña.

Busque “Pandroid.injected.signing.key.password” y puede ver la contraseña de la clave.

Espero eso ayude…

He experimentado el mismo problema. He intentado a continuación los pasos para resolver el problema:

  1. Crea el apk de señal con la creación de un nuevo almacén de claves y una nueva contraseña.

  2. Ahora crea de nuevo la apk de signo usando tu almacén de claves anterior (almacén de claves utilizado en el momento de la carga previa de comstackción de apk) pero ahora usa la nueva contraseña de almacén de claves.

  3. Ahora definitivamente crearás con éxito la sesión de apk usando el viejo almacén de claves.

    • Espero que esta solución te ayude …

En mi caso, actualicé mi Android Studio de 2.3 a 3.0.1, cuando bash generar un apk firmado para una nueva actualización, recibí el error “Keystore fue manipulado, o la contraseña fue incorrecta”. Tenía mi almacén de claves anterior y estaba absolutamente seguro de la contraseña, usándolas había actualizado la aplicación un par de veces. Después de buscar mucho, ninguna de las soluciones funcionó para mí. Aquí esta lo que hice.

  • Abrió otro proyecto.
  • Importé mi proyecto usando Archivo / Nuevo / Proyecto de importación
  • Una vez que se construyó gradle intenté generar un apk firmado. Crear / generar APK firmado
  • Hizo clic en “Choose Existing” y proporcionó la ruta a mi keystore.
  • escrito en la contraseña de mi tienda clave
  • seleccionado el alias clave
  • escrito en mi contraseña de clave (en mi caso, tanto la contraseña del almacén de claves como la contraseña de la clave son las mismas)
  • Haga clic en siguiente y proporcione la ruta para el nuevo Apk y marque ambas casillas de verificación.
  • Nueva APK se generó con éxito.

Espero que esto ayude a cualquiera.

Si nada funciona, pruebe esta línea. Vaya a la ruta donde está almacenado .jks. Ejecute este comando en el símbolo del sistema. Le pedirá una contraseña, ignore eso y presione enter.

keytool -list -keystore sample.jks

Las personas no siempre le dan una contraseña al keystore, sino que la dejan en blanco. Intenta presionar Enter para la contraseña, funcionó para mí en este escenario.

SOLUCIÓN 2018 : Firme la aplicación con el nuevo archivo del almacén de claves si le falta la contraseña o el archivo jks.

1) Crear un nuevo archivo keystore.jks con línea de comando (no el menú de creación de estudio de Android)

 keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks 

Ejemplo de Windows: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore "C:\keystore_new.jks"

2) Generar un archivo .pem desde el nuevo almacén de claves

 keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks 

Ejemplo de Windows: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -export -rfc -alias upload -file "C:\upload_cert.pem" -keystore "C:\keystore_new.jks"

3) Use este formulario de ayuda, establezca el “problema de almacén de claves” y agregue el archivo .pem de archivos adjuntos: https://support.google.com/googleplay/android-developer/contact/otherbugs

4) 12-48h tu nuevo almacén de claves está habilitado. Actualice su aplicación en playstore con una nueva aplicación firmada con el nuevo keystore: D

Nada te funcionará así que por favor no uses ningún método para recuperar todo lo que no sirve de nada La mejor opción es que tienes que volver a enviar la aplicación con la nueva clave y anular la publicación de la aplicación anterior

    Intereting Posts