Error al realizar conexiones SSL, TLS y HTTPS en Mono


Mono, la implementación libre de .NET Framwork, no permite por defecto realizar conexiones que requieran el uso de SSL o TLS. Esto impide, por ejemplo, comunicarse con direcciones https vía código; lanzando una excepción como esta:

Security.Protocol.Tls.TlsException: Invalid certificate received form server.

Este comportamiento no es un bug, es un sistema de seguridad.

Las conexiones seguras, para que realmente lo sean para los usuarios, necesitan que el cliente pueda verificar la legitimidad del servidor remoto. Para ello existen entidades que expiden certificados para asegurar que el interlocutores quien dice ser.

Mensaje de Firefox indicando una conexion segura

Los navegadores web suelen incluir los certificados de varias entidades de confianza. Sin embargo, Mono no lo hace. Prefiere que cada usuario decida en quien quiere confiar.

Para resolver este problema existen dos soluciones sencillas y seguras:

Importar los certificados de Firefox

Este método tiene la ventaja de instalar los certificados de todas las entidades de confianza mas habituales sin tener que buscar la concreta necesaria:

mozroots --import --ask-remove

Importar un certificado concreto

Si no tenemos Firefox, el que necesitamos no viene incluido o solo queremos uno concreto; existe la posibilidad de importar un fichero de certificado:

Como ejemplo, vamos a instalar un certificado de GoDaddy.

  1. Descargamos el archivo gd-class2-root.crt desde https://certs.godaddy.com/anonymous/repository.seam a una carpeta de nuestro ordenador (p. ej.: /home/usuario)
  2. Ejecutamos el siguiente comando en nuestra terminal
certmgr -add -c Trust /home/usuario/gd-class2-root.crt

Una vez completado alguno de los dos métodos podremos escribir código en Mono que se comunique vía SSL o TLS.

Para mas información, se puede consultar http://www.mono-project.com/FAQ:_Security

Anuncios

El precio de internet en el mundo


El precio de internet en el mundo

Como ya habreis podido observar estamos a la cola tanto en velocidad de conexión como en precio mientras que los japoneses disfrutan de 61 Mbps (6.1 MB) a un precio irrisorio. ¿Por qué a los japoneses les cuesta de media una conexión 20 veces mas potente tan solo 16,5$ (13€) mientras que a nosotros nos estafan con un un internet pésimo que ademas nos venden como la ultima novedad? ¿que diferencia hay entre un español y un japonés, o incluso uno de nuestros vecinos franceses? Señores de las compañías telefónicas, queremos un ADSL decente.

 

 

Vía | Pixfans