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.

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.

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.

  • ¿Cómo puedo usar los servicios de google play en un proyecto de maven?
  • Android: ¿Disponibilidad de Google Analytics en Google Play Services?
  • Android: No se encontró ningún recurso powered_by_google_light icono en herramientas de compilación 23.0.3?
  • No se puede crear APK con 'com.google.android.gms: play-services: 9.4.0'
  • LibGDX Servicios de juegos de Google Play - Android
  • Android Play Store Error -505
  • GamesClient no se conecta. Error: "Llamar a connect () y esperar a que onConnected () sea llamado."
  • Parámetros omitidos en Android SDK v4
  • No se puede usar android: icon = "@ mipmap / ic_launcher" en Manifest after play services 7.5.0
  • Iniciar sesión con google para android no funciona en la versión apk
  • Android Studio Biblioteca de Google Play-Services
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.