2012-01-23 28 views
9

Soy relativamente nuevo en phonegap y recientemente he configurado HTTPS/SSL en mi servidor de Windows apache con un certificado autofirmado y estoy tratando de hacer una solicitud de ajax de HTTPS . La solicitud funciona bien cuando se ejecuta en un navegador pero falla cuando se ejecuta dentro de phonegap. Intenté configurar android: depurable en falso, pero eso no solucionó el problema. También hice algunas investigaciones y parece que phonegap admite solicitudes HTTPS ajax, por lo que no estoy seguro de por qué la solicitud está fallando.PhoneGap Llamada de Ajax al servidor HTTPS con certificado autofirmado falla

¿Alguien sabe por qué podría ser esto?

+1

Me he encontrado con este problema también. El único problema es que su servicio web está auto firmado. Si obtienes un certificado firmado correctamente, esto no será un problema. Por ahora solo puedes usar HTTP para probar. – sciritai

+0

¡Gracias! El problema fue el certificado autofirmado y no es un problema con un certificado firmado correctamente. – user1014759

Respuesta

8

Esta es una cita de Joe Bowser que escribió el código para permitir certs firmados por cuenta de PhoneGap Android:

  1. Si usted está haciendo el desarrollo: android: depurable = "true" en el manifiesto, que debería permitir que el navegador solicite datos de los servidores con un certificado SSL autofirmado o incorrecto
  2. Si está liberando una aplicación, debe eliminar el android: debuggable = "true" (Android Market no lo dejará lanzar con esto de todos modos) y NO podrá enviar datos a un servidor con un certificado SSL defectuoso
  3. Si no tiene este indicador configurado, el valor predeterminado será el predeterminado ahora, que es que no podrá enviar datos a los servidores con un certificado autofirmado

Parece que debe poder hacer lo que desea al configurar android: debuggable = "true". Si eso no funciona para usted, tendremos que obtener un escenario de reproducción suyo, la versión de PhoneGap y la versión de Android que está utilizando.

Probablemente lo mejor para criar a un error en Jira para nosotros:

https://issues.apache.org/jira/browse/CB#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel

+1

¿hay alguna solución para iOS? – Charles

+0

@charles: [esta sugerencia] (http://stackoverflow.com/a/9658166/814416) funcionó mejor para mí. – sherb

+1

Esto no parece funcionar con Android Lollipop – AlexLopezIT

1

pasé horas sobre este tema hasta que encontré que hay una quick and dirty fix posible. Implica omitir CordovaWebViewClient para ignorar los errores de certificado.

Cuestiones relacionadas