Alerta de seguridad: la aplicación contiene claves privadas incrustadas o archivos de almacén de claves
Recientemente recibí un correo de Google:
Esta es una notificación de que su aplicación (s) com.myapp, contiene una o más claves privadas o archivos de almacén de claves incrustados en su apk publicado como se muestra al final de este correo electrónico. Estos elementos incrustados pueden ser accedidos por terceros, lo que puede plantear una variedad de problemas de seguridad diferentes dependiendo de lo que se utiliza la clave. Por ejemplo, si la clave privada es la clave de firma para su aplicación, un tercero puede firmar y distribuir aplicaciones que reemplazan sus aplicaciones auténticas o las corrompen. Tal parte también podría firmar y distribuir aplicaciones bajo su identidad.
- ¿Cómo puedo determinar mediante programación si una aplicación en la tienda de reproducción se puede instalar en el dispositivo actual?
- Android Play Store Error -505
- Anular el registro de un dispositivo de GCM mediante la identificación de registro en Android
- ¿Qué es el plan de retroceso para dispositivos sin Google Play Services?
- Servicios de Google Play en un proyecto de Android Studio 0.1.1 gradle?
Como práctica de seguridad general, le recomendamos encarecidamente que no incluya claves privadas ni archivos de almacén de claves en las aplicaciones, incluso si las claves están protegidas con contraseña o ocultadas. La manera más efectiva de proteger sus archivos de clave privada y de almacén de claves es no hacerlos circular.
Elimine sus claves privadas y archivos de almacén de claves de su aplicación lo antes posible. Cada aplicación es diferente, pero si no está seguro de cómo localizar las claves y los archivos de la almacén de claves en su aplicación, puede intentar buscar archivos con la extensión de archivo "keystore" y "PRIVATE KEY". Para obtener más información sobre cómo mantener segura su clave, consulte https://developer.android.com/tools/publishing/app-signing.html .
Usted tiene la responsabilidad como desarrollador de asegurar su llave privada apropiadamente, en todo momento. Tenga en cuenta que, aunque no está claro si estos problemas específicos afectan a su aplicación, las aplicaciones con vulnerabilidades que exponen a los usuarios a riesgos de compromiso pueden considerarse "productos peligrosos" y estar sujetas a eliminación de Google Play.
Para comprobar si las versiones posteriores de tus aplicaciones contienen claves privadas, consulta la sección de alertas de la Consola del programador de Google Play en https://play.google.com/apps/publish/#AlertsPlace .
Aplicaciones afectadas y muestras de elementos incrustados: repack / org / bouncycastle / openssl / test / data / dsa / openssl_dsa_aes128_cbc.pem repack / org / bouncycastle / openssl / test / data / dsa / openssl_dsa_aes128_cfb.pem repack / org / bouncycastle / openssl / Prueba / datos / dsa / openssl_dsa_aes128_ecb.pem reempaque / org / bouncycastle / openssl / prueba / datos / dsa / openssl_dsa_aes128_ofb.pem repack / org / bouncycastle / openssl / test / data / dsa / openssl_dsa_aes192_cbc.pem
Estoy usando una biblioteca (archivo jar) que contiene los archivos .pem anteriores. Estos archivos tienen la palabra clave 'PRIVATE KEY'. No estoy revelando mi llave privada o keystore dondequiera en el paquete de APK. ¿Qué puedo hacer para solucionar este problema? ¿Qué cambio hago en el archivo JAR o en el APK de mi aplicación? Por favor ayuda.
- Servicios de Google Play no disponibles debido al error 2
- Android Studio con Google Play Services
- Google App invita a Unity3D Plugin Json File Location
- Google Play Store está dando créditos adicionales al usuario?
- UserRecoverableAuthException: NeedPermission
- ¿Cómo comprobar la versión de servicios de Google Play?
- Com.android.build.transform.api.TransformException con los servicios de google play de android
- Google Play Services GCM 9.2.0 pide "actualizar" a la versión original
Tengo un mensaje muy similar de Google hoy en relación con esto. Tras la investigación encontré los mismos archivos que usted ha enumerado en uno de mis frascos. He resuelto este problema eliminando toda la carpeta openssl del jar con el siguiente comando de consola.
zip --delete AFFECTEDJAR.jar "repack/org/bouncycastle/openssl/*"
Yo sugeriría que no hay java clasificar en esa carpeta antes de ejecutar esto. En mi caso no había nada más que datos de prueba de todos modos.
Espero que esto ayude.
Es muy probable que no necesite estos archivos en la aplicación. Sólo tienes que eliminarlos del proceso de exportación cuando liberes la aplicación. Estoy asumiendo que estos están dentro del proyecto directamente para la facilidad de pasar alrededor de la aplicación y mantenerlos cerca del proyecto.
Si este es el caso, basta con mover los almacenes de claves fuera del paquete y hacer referencia a ellos desde un separado directamente cuando sea necesario para que no se empaquetan en.
Instrucciones paso a paso sobre cómo deshacerse de este msg- http://pctechnique.com/index.php/android-apps/2-uncategorised/31-security-alert-for-pem-file-and-keystore-in Tu apk