EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
PF Preguntas - Foro

Cómo solucionar el error “The authentication or decryption has failed” en una petición web con HttpWebRequest

Programación Xamarin Android  
 
Cómo solucionar el error “The authentication or decryption has failed” en una petición web con HttpWebRequest

Cuando quieres realizar una petición web mediante HTTP desde una aplicación móvil, desarrollando en Xamarin Android, o Visual Studio, mediante el lenguaje C#, puedes hacerlo a través del objeto System.Net.HttpWebRequest. Así, puedes realizar una solicitud de información o datos a alguna URL para luego usar los mismos en la aplicación.

Para ello, el código a usar es algo parecido a lo siguiente, sin tener en cuenta ningún manejo de excepciones en el mismo:

Pues bien, esto que a simple vista puede resultar obvio y no dar ningún tipo de problemas, puede volverse un fastidio si la petición se realiza a una URL segura, es decir, a una dirección HTTPS.

Por algún motivo, al intentar obtener respuesta de la misma el sistema arroja un error, debido a un problema en la obtención del certificado, del tipo:

Para solucionar este inconveniente y que no se reporte error alguno, hay que realizar un cambio en las opciones del proyecto en cuestión. Vamos a verlo:

Paso 1. Haz click con el botón derecho, en la ventana del IDE de Xamarin o Visual Studio, sobre tu proyecto Android, y selecciona Opciones.

Cómo solucionar el error "The authentication or decryption has failed" en una petición web con HttpWebRequest - Image 1 - professor-falken.com

Paso 2. Se abrirá la ventana de opciones del proyecto con multitud de posibles configuraciones. En la parte izquierda, selecciona Compilación > Android Build. Posteriormente, en la parte derecha, casi abajo del todo, verás un selector llamado Implementación de SSL/TLS que, por defecto, suele tener el valor Predeterminado. Selecciona la opción Native TLS 1.2+ y guarda los cambios pulsando sobre el botón Aceptar.

Cómo solucionar el error "The authentication or decryption has failed" en una petición web con HttpWebRequest - Image 2 - professor-falken.com

Una vez hecho esto, prueba a compilar de nuevo la solución y a ejecutar el proyecto. Esta vez el error del que estamos hablando no aparecerá y la petición a la URL en cuestión se realizará correctamente.

Nota. Ten en cuenta que este error suele darse cuando la aplicación está en producción, es decir, en modo Release, y no suele darse cuando la tenemos en modo desarrollo o depuración, Debug.

Déjanos un comentario o entra al  Foro
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page