Problemas en la publicación de archivos .apk sin firmar?

Hay muchas preguntas sobre los archivos .apk firmados y sin firmar. Para probar y depurar podemos usar archivos .apk sin signo que generan dentro de la carpeta bin. Este archivo apk se generó utilizando un archivo dummy keystore. Mi pregunta es por qué necesitamos usar apk firmado. No podemos publicar un apk sin firmar. ¿qué está mal con eso?

Hay una serie de razones por las que desea tener una aplicación firmada para la liberación. Incluso hay un gran artículo sobre él. He aquí algunas razones:

  1. Es un método que el usuario final puede verificar que una aplicación es de hecho publicada por el mismo autor.
  2. El proceso de lanzamiento permite que Android utilice funciones adicionales, como las compras en la aplicación. Sin ella, Google no puede verificar que de hecho la aplicación es suya.
  3. Es una manera de decir que alguien de confianza lanzó la aplicación.
  4. Es un proceso de autenticación en dos pasos para verificar que la aplicación es suya. Eso da una capa adicional de seguridad que no se puede hacer por otros medios.
  5. Las aplicaciones firmadas con la misma clave pueden compartir recursos. El certificado de depuración es compartido por todos y probablemente no quiera tener ese nivel de acceso con todas sus aplicaciones.

Básicamente, hace que la vida de un hacker sea más difícil, lo que siempre es una buena cosa.

Por ejemplo, uno puede dar acceso a la cuenta de Google Play a las personas para modificar la descripción, pero no desea que carguen nuevas aplicaciones. Sin la clave, no pueden subir la aplicación. Además, si tu contraseña de Google está dañada, todavía no puedes subir la aplicación. Se necesita tener su archivo de clave privada y la clave para romperlo.

Sólo las personas que hayan habilitado la depuración en sus opciones de desarrollador podrán ejecutarla. Y la gente tendrá que saber cómo habilitar las opciones de desarrollador (haciendo clic en 'Construir número' en la configuración del teléfono siete veces). Google no te permitirá publicar un apk de depuración, por lo que la gente tendrá que cargarlo lateralmente.

Como @Pearson cubrió casi todas las cosas, pero una cosa que me gusta cubrir.

En Android, no puede instalar la aplicación sin firmar en ningún modo en su teléfono / emulador de desarrollador. Debe firmar su aplicación mediante depuración o su propio certificado.

Tras la instalación, el SDK de Android genera un certificado de firma de "depuración" en un almacén de claves llamado debug.keystore. Un certificado de depuración sólo es válido durante 365 días.

Por lo tanto, cuando instale su aplicación a través de cualquier IDE Eclipse / Android Studio, IDE también firmará la aplicación utilizando el certificado de depuración.

Actualizar

Mi pregunta es por qué necesitamos usar apk firmado. No podemos publicar un apk sin firmar. ¿qué está mal con eso?

Debe firmar su aplicación con su propio certificado de keystore de liberación porque no puede publicar la aplicación que esté firmada con el certificado de depuración porque

Una de las razones es que su certificado de depuración expira dentro de un año, así que después de que no se puede liberar la actualización de su aplicación Una vez que su certificado de depuración ha expirado por qué motivo Google no permite y algunos más preocupación de seguridad.

La segunda razón es que el sistema android utiliza el certificado como medio para identificar al autor de una aplicación y establecer relaciones de confianza entre las aplicaciones.

Apk con debug keystore es un apk firmado. El apk no firmado no se puede cargar en un dispositivo. Para la producción debe crear un almacén de claves diferente con el que firmar. Además, una vez publicadas, las futuras actualizaciones deben realizarse utilizando el mismo almacén de claves. Si se pierde el almacén de claves, no se puede actualizar la aplicación.

Un APK no firmado es más difícil de rastrear para el autor original. Aunque en principio no hay nada malo en eso, Google te obliga a firmar tu APK antes de publicar en Google Play. Debido a esto, Google tiene el poder de revocar el certificado cuando un desarrollador abusa de Google Play para publicar software, es decir. Malware

Además, debido a que tiene que pagar a Google por un certificado, Google espera que los desarrolladores maliciosos no paguen una y otra vez para publicar allí la aplicación.

De desarrolladores de Android:

"El sistema Android requiere que todas las aplicaciones instaladas estén firmadas digitalmente con un certificado cuya clave privada esté en manos del desarrollador de la aplicación El sistema Android utiliza el certificado como medio para identificar al autor de una aplicación y establecer relaciones de confianza entre aplicaciones". .

Lea todo sobre él aquí

  • Android - ¿Puede publicar diferentes aplicaciones con el mismo archivo de almacén de claves en varias cuentas?
  • AndroidDebugKey Keystore fue manipulado, o la contraseña era incorrecta
  • Android bouncy castle: IOException
  • Android Development: Keytool, la creación de un almacén de claves?
  • Java Keystore contraseña sin sentido?
  • Hash clave para Facebook Android SDK
  • "Flujo no representa una tienda de claves PKCS12" después de almacenar con una nueva contraseña en el dispositivo Android
  • No puede encontrar keytool en un mac
  • Android - ¿Codificar y decodificar RSA con clave privada?
  • Olvidó la contraseña de Keystore, pensando en la detección de Brute-Force. ¿Corromperá el almacén de claves?
  • Android, varias aplicaciones, varios clientes, un almacén de claves
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.