Keystore y alias – ¿hay un uso a varios alias?

Al exportar una aplicación Android firmada con Eclipse, ¿existe un propósito de utilizar varios alias?

Según la guía oficial sobre la firma , se recomienda que firme todas las aplicaciones con el mismo certificado para permitir que sus aplicaciones compartan datos, código y se actualicen de manera modular.

Asumiendo que "alias", "clave" y "certificado" son esencialmente intercambiables en este contexto, ¿hay alguna razón por la que alguien desearía usar alias diferentes para todas sus aplicaciones? La única razón por la que puedo pensar es que añade más seguridad a sus aplicaciones, en el sentido de que una clave / contraseña comprometida no compromete todo. ¿Hay otras razones?

Además, ¿depende la clave generada del nombre del alias? En otras palabras, si cambia el nombre del alias pero no la contraseña, ¿el certificado generado sería diferente?

Corregirme si estoy equivocado, pero si ve esta respuesta a una pregunta similar, verá que el certificado realmente depende del "alias" particular (dentro de su almacén de claves) con el que elija firmar.

Lea la respuesta con cuidado y verá que el "keystore" contiene "alias" s (que son en realidad privados + pares de claves públicas). Cuando usted firma su apk es la "clave pública" que es el certificado real que está incrustado.

Por lo tanto, al actualizar su aplicación siempre debe utilizar el mismo "alias", no sólo el mismo "keystore". En cuanto a por qué los desarrolladores tendrían múltiples "alias" s en su almacén de claves, no estoy seguro del beneficio que no sean lo que usted y otros han declarado.

Y la única manera que usted puede firmar con un alias diferente sería clonar el anterior como la respuesta también sugiere.

También he confirmado que la firma de un APK con diferentes alias (desde el mismo Keystore) generará signaturas de firma APK diferentes que deben ser la prueba de que diferentes "alias" s = certificado diferente. Cómo obtener su signo de firma (<- nota: No sé lo que el método Trace.i se refieren a es, he utilizado Log.i en su lugar)

Tenga en cuenta que al firmar las aplicaciones con diferentes claves está sacrificando la interoperabilidad de "permisos basados ​​en firmas" entre sus aplicaciones.

Extracto de Android – Firma de sus aplicaciones – Estrategias de firma

El sistema Android proporciona la aplicación de permisos basados ​​en firmas, de modo que una aplicación puede exponer la funcionalidad a otra aplicación que esté firmada con un certificado especificado. Al firmar varias aplicaciones con el mismo certificado y con las comprobaciones de permisos basadas en firmas, sus aplicaciones pueden compartir código y datos de forma segura.

Yo estaba haciendo algunas pruebas, y aunque parece importar qué clave se utiliza en el almacén de claves, cambiar el alias de la clave y el nombre del archivo de almacén de claves realmente no parece importar al teléfono. Si tienes curiosidad, cambié el alias con keytool-iui que conseguí desde aquí: http://code.google.com/p/keytool-iui/

Para responder al OP, diría que es útil si trabajas en una gran empresa con múltiples divisiones escribiendo sus propias aplicaciones. Por lo tanto, los Widgets de Wilson podrían tener un almacén de claves de wilsonwidgets.keystore, y podría haber un departamento interno con una clave "widmakers", y un departamento con una clave "widgetdelivery", y otro departamento con una clave "hrdepartment". Cada departamento podría impedir que el otro departamento actualizara su aplicación, pero la propia empresa tiene todas las claves almacenadas en un almacén de claves que puede copiarse a una ubicación.

Personalmente, firmo cada aplicación con una llave diferente almacenándolos todos en el mismo almacén de claves. Lo hago así que si Google decide comprar una de mis aplicaciones de mí puedo romper que una clave y darle a ellos sin tener que vender todo el lote o regenerar claves para las otras aplicaciones. Realista … Estoy perdiendo tiempo y esfuerzo … suspiro

  • Consola para programadores de Android: una huella dactilar errónea tras la creación de la versión con Android Studio
  • ¿Cómo puedo especificar la ubicación de debug keystore para Android ant debug builds?
  • ¿Puedo fusionar varios archivos de keystore de Android en uno?
  • ERROR: No se pudo leer la clave del almacén: ... No se puede recuperar la clave en Android Studio al generar APK firmado
  • AndroidDebugKey Keystore fue manipulado, o la contraseña era incorrecta
  • ¿Dónde puedo encontrar la ubicación predeterminada para las librerías de claves android creadas por eclipse?
  • Android KeyStore restablece cuando la pantalla de bloqueo está establecida en "ninguno"
  • Javax.net.ssl.SSLPeerUnverifiedException: Ningún certificado igual mientras intentaba conectarse usando https con .bks keystore
  • Configurar Eclipse para usar el almacén de claves firmado
  • Buscar la fecha de caducidad de Android keystore
  • Archivo de Keystore de Android perdido
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.