2011-04-11 23 views
9

He hecho un APK firmado con un certificado que tiene una validez de 1 día. Mi objetivo es ofrecer una aplicación de prueba a algunas personas, pero impidiéndoles copiar la aplicación después de la fecha de vencimiento. Si copian la aplicación antes de la fecha de caducidad, eso está bien. Pensé que el sistema operativo Android bloquearía cualquier aplicación con un certificado caducado que se instale en el teléfono. Sin embargo, me parece que puedo instalar la aplicación en mi teléfono 2 días después del vencimiento del certificado con el que está firmado. Jarsigner confirma que el certificado ha expirado. ¿Por qué Android permite que una aplicación se instale con un certificado caducado?¿Por qué Android permite que se instale un APK con un certificado caducado?

+0

Eso es interesante. Pero, en general, las personas realizan pruebas limitadas en el tiempo, pero ponen código en la aplicación para que se niegue a ejecutarse después de una fecha determinada, no esperando que el sistema operativo se niegue a instalarlo después de esa fecha. ¿Desea restringir específicamente la fecha de instalación en lugar de la fecha de ejecución? Si es así, podría crear una autorización en la instalación previa a la expiración en la configuración privada y/o en la tarjeta SD, cada una de las cuales tiene diferentes problemas de supervivencia para eliminar/volver a instalar. –

+0

Sí No quiero restringir la fecha de ejecución, la aplicación debe estar completamente disponible para las personas a quienes se la doy, pero no debe reinstalarse. Estoy confundido porque la Guía de Android dice que el sistema prueba la fecha de caducidad del certificado en el momento de la instalación, pero no parece ser el caso. Tal vez podría hacer el trabajo como usted sugirió, pero me gustaría saber por qué no se verifica el certificado. – Patrick

+1

Es posible que haya encontrado un error (o que haya algo sutilmente incorrecto en la prueba). Pero para lograr su objetivo, puede ser más efectivo confiar en algo que usted mismo implemente. Un esquema de autorización de ejecución (probablemente almacenado en caché) tampoco necesita depender de la fecha; podría estar vinculado a una cuenta de usuario que crearía en un servidor en alguna parte. Por cierto, tenga en cuenta que su esquema original, incluso si funcionó, sería trivialmente derrotado al volver a firmar el apk. –

Respuesta

2

Entiendo que un desarrollador puede instalarlo a través de adb o treinta partes. Estoy seguro de que si lo cargas al Mercado encontrarás dificultades. En mi humilde opinión, es lógico porque cuando instala aplicaciones fuera del mercado, está asumiendo muchos riesgos que no podría resolver con una aplicación con la firma correcta.

+1

Probablemente tenga razón, y la Guía del desarrollador está equivocada. – Patrick

Cuestiones relacionadas