Está utilizando una implementación insegura de X509TrustManager
Tengo una aplicación en Google Play, hoy he recibido un correo de Google diciendo que:
Advertencia de Google Play: está utilizando una implementación no segura de X509TrustManager
- Entrada duplicada: org / appcelerator / titanium / gen / bindings.json en el módulo Android personalizado
- Appcelerator Android Service detiene las paradas
- Actualización del módulo Android Titanium a SDK 6.0.0
- Posición de control de vídeo de Android en Titanium
- No se puede ocultar titanio titanio con aleación
Dice algo sobre los problemas del certificado SSL y una forma de resolver el problema.
Estoy haciendo esta pregunta por curiosidad,
- En realidad, ¿de qué se trata esta advertencia?
- No utilizo ninguna actividad relacionada con la red en mi aplicación (es una aplicación basada en bases de datos locales), así que ¿por qué se ha producido esta advertencia para mi aplicación?
Más detalles:
Mi aplicación fue construida con Appcelerator Titanium y google dice que esta implementación está en ti.modules.titanium.network.NonValidatingTrustManager;
. Estoy seguro de que nunca he usado esa clase en mi código.
- Esquema de URL personalizado de Android se niega a trabajar / Cómo navegar de nuevo a Android App después de OAuth
- La aplicación se bloquea en Android 6 porque el módulo tiene reubicaciones de texto
- ¿Qué significa "ActionBar no disponible para TabGroup"?
- Notificaciones push en Android 5 no se entregan cuando la aplicación en segundo plano (Titanium) - Pero lo hace en primer plano
- Appcelerator Titanium LocalNotification para Android
- Titanium Appcelerator módulo Android: ¿Cómo crear un proxy?
- Appcelerator Titanium 3 Errores de entorno del emulador de Android
- Desea almacenar permanentemente dos variables para una aplicación en sistemas operativos móviles
En realidad, ¿de qué se trata esta advertencia?
Debes haber estado vinculado a esta página , que explica de qué se trata. En pocas palabras, Google está escaneando aplicaciones para personas que estropean SSL, como aceptar ciegamente todos los certificados como válidos.
No utilizo ninguna actividad relacionada con la red en mi aplicación (es una aplicación basada en bases de datos locales), así que ¿por qué se ha producido esta advertencia para mi aplicación?
Porque algo más en tu APK ha hecho esto. En el caso de este desarrollador , era una biblioteca.
Mi aplicación fue construida con Appcelerator Titanium y google dice que esta implementación está en ti.modules.titanium.network.NonValidatingTrustManager ;. Estoy seguro de que nunca he usado esa clase en mi código.
Es posible que no lo haya utilizado directamente . Sin embargo, algo más lo está usando. O, tal vez está ahí porque es sólo parte del marco general de Titanio y permanece en su APK.
Appcelerator está rastreando este problema en JIRA aquí: https://jira.appcelerator.org/browse/TIMOB-20431
También publicamos una entrada en el blog con información aquí: http://www.appcelerator.com/blog/2016/02/google-security-alert-unsafe-implementation-of-the-interface-x509trustmanager/
El correo electrónico habla sobre la fecha límite de 17 de mayo para las aplicaciones y actualizaciones recién presentadas (!). Tendremos una solución y las instrucciones listas a tiempo.
Lea esto: http://docs.appcelerator.com/platform/latest/#!/guide/SSL_Certificate_Store_Support_for_HTTP_Clients
Todo sobre el Google empujando a todos a utilizar https. Si estás utilizando en tu aplicación el objeto Titanium.Network.createHTTPClient, entonces tendrás que implementarlo con esto:
var certificateStore = require('ti.certificatestore').
El módulo se puede encontrar aquí: https://github.com/appcelerator-modules/ti.certificatestore
El problema no está relacionado con el código js. Es dentro de titanio sdk y no importa si utiliza algunos fucntions o no. Creo que la posible solución es volver a escribir la clase https://github.com/appcelerator/titanium_mobile/blob/bc85170157d3bebc5de1d61a9fe6e34bce84a8c9/android/modules/network/src/java/ti/modules/titanium/network/NonValidatingTrustManager.java
Debemos crear la implementación segura de X509TrustManager
Acabo de recibir el mismo mensaje en una de mis aplicaciones. Mismo módulo especificado como OP.
ti.modules.titanium.network.NonValidatingTrustManager;
Algunos puntos de mi investigación hasta ahora:
- http://docs.appcelerator.com/platform/latest/#!/guide/SSL_Certificate_Store_Support_for_HTTP_Clients discute el problema y proporciona ejemplos para iOS y Android. Sin embargo:
- Los ejemplos son diferentes para cada sistema operativo y requieren la creación o descarga de módulos (el Android es un par de años ahora)
- Los documentos dicen específicamente que estos métodos ya no son compatibles y
En su lugar, debe utilizar la propiedad securityManager de HTTPClient para implementar la compatibilidad con las tiendas de certificados SSL.
-
Los documentos SecurityManagerProtocol, por desgracia, no tienen ejemplos. Las pocas referencias que pude encontrar ( http://docs.appcelerator.com/platform/latest/#!/api/Modules.Https ) requieren el uso de modules.https que es un módulo PAGADO solamente.
-
Me quedo con la pregunta: Si Google rechaza todas las aplicaciones de Appcelerator con este problema en particular y solo los desarrolladores con suscripciones pagas obtienen una solución oficialmente compatible, ¿significa esto que la 'edición de comunidad' de Appcelerator es oficialmente incompatible con Google Play? ¿Está Appcelerator planeando apoyar HTTPS oficialmente para sus miembros de la comunidad?
¿Alguien de Appcelerator quiere comentar, por favor? Gracias, David
- Grabación de procesamiento en vivo de OpenCV en Android
- ¿Cómo ejecutar el comando terminal en la aplicación de Android?