Esta es una pregunta general, pero particularmente estoy interesado en su uso para Android. ¿Qué es un archivo de almacén de claves y para qué se utiliza?
¿Pueden varias aplicaciones de Android usar el mismo almacén de claves para firmar su aplicación (¿qué significa exactamente "firmar" un .apk?) Y cuáles son las implicaciones (si las hay) de esto?
Respuestas:
La respuesta que proporcionaría es que un archivo de almacén de claves es para autenticarse ante cualquier persona que lo solicite. No se limita a solo firmar archivos .apk, puede usarlo para almacenar certificados personales, firmar datos para transmitir y una gran variedad de autenticación.
En términos de lo que haces con él para Android y probablemente de lo que estás buscando, ya que mencionas firmar apk, es tu certificado. Está marcando su solicitud con sus credenciales. Puede marcar múltiples aplicaciones con la misma clave, de hecho, se recomienda que use un certificado para marcar múltiples aplicaciones que escriba. Es más fácil hacer un seguimiento de las aplicaciones que le pertenecen.
No estoy seguro de lo que quieres decir con implicaciones. Supongo que significa que nadie más que el titular de su certificado puede actualizar su solicitud. Eso significa que si lo libera en la naturaleza, pierde el certificado que usó para firmar la aplicación, entonces no puede lanzar actualizaciones, así que mantenga ese certificado seguro y haga una copia de seguridad si es necesario.
Pero además de firmar apks para liberar en la naturaleza, puede usarlo para autenticar su dispositivo en un servidor a través de SSL si así lo desea, (también relacionado con Android), entre otras funciones.
fuente
Android Market requiere que firmes todas las aplicaciones que publiques con un certificado, utilizando un mecanismo de clave pública / privada (el certificado está firmado con tu clave privada). Esto proporciona una capa de seguridad que evita, entre otras cosas, que los atacantes remotos envíen actualizaciones maliciosas a su aplicación al mercado (todas las actualizaciones deben firmarse con la misma clave).
De la Guía de firma de aplicaciones del sitio para desarrolladores de Android:
El uso de la misma clave tiene algunos beneficios: uno es que es más fácil compartir datos entre aplicaciones firmadas con la misma clave. Otra es que permite que múltiples aplicaciones firmadas con la misma clave se ejecuten en el mismo proceso, por lo que un desarrollador puede construir más aplicaciones "modulares".
fuente
Puede encontrar más información sobre el proceso de firma en la documentación oficial de Android aquí: http://developer.android.com/guide/publishing/app-signing.html
Sí, puede firmar varias aplicaciones con el mismo almacén de claves. Pero debe recordar una cosa importante: si publica una aplicación en Play Store, debe firmarla con un certificado sin depuración. Y si un día desea publicar una actualización para esta aplicación, el almacén de claves utilizado para firmar el apk debe ser el mismo. De lo contrario, no podrá publicar su actualización.
fuente
La idea de una herramienta clave es firmar su apk con un identificador único que indique la fuente de ese apk. Se utiliza un archivo de almacén de claves (por lo que entiendo) para la depuración, por lo que su apk tiene la funcionalidad de una herramienta clave sin firmar su apk para producción. Entonces, sí, para fines de depuración, debe poder firmar múltiples apk con un solo almacén de claves. Pero comprenda que, al pasar a producción, necesitará herramientas clave únicas como identificadores para cada apk que cree.
fuente
keytool
sea a lo que te refieres. keytool es un programa java utilizado para generar almacenes de claves.