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?
- Intellij IDEA - ver contraseña guardada
- SSLHandshakeException: Ancla de confianza para la ruta de certificación no encontrada. Solo en la API de Android <19
- Error de "Versión incorrecta de almacén de claves". ¿Cómo puedo crear un certificado de almacén de claves de versión = 1?
- ¿Cómo comprobar el nombre del certificado y el alias en los archivos del almacén de claves?
- Error con keystore: Parse Tiempo generalizado, formato no válido
- Perdió el alias del almacén de claves pero tiene el archivo y la contraseña utilizados para alias
- Android KeyStore restablece cuando la pantalla de bloqueo está establecida en "ninguno"
- Contraseña del almacén de claves alterada
- Al construir la versión de apk usando android studio, obtengo un error "Keystore fue manipulado, o la contraseña era incorrecta"
- Hacer una conexión HTTPS mediante URL.openConnection ()
- Compartir debug.keystore
- Almacenamiento seguro de una clave simétrica en el uso de Android KeyChain
- Nombre de la unidad organizativa
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:
- Es un método que el usuario final puede verificar que una aplicación es de hecho publicada por el mismo autor.
- 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.
- Es una manera de decir que alguien de confianza lanzó la aplicación.
- 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.
- 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í