none
[SOLUCIONADO] Anulada la solicitud: No se puede crear un canal seguro SSL/TLS RRS feed

  • Pregunta

  • Buenos días,

    estoy usando visual studio 2012 ultimate y he agregado una referencia web (antes probe referencia a servicio) para consumir un servicio web. URL ("https:")

    Anteriormente usaba para la conexión certificados dígitales pero como empece con el problema de SSL/TLS me decante por el tradicional usuario y contraseña. Con este sistema, visual studio si me permitio agregar la referencia y pude plantear el código pero cuando lo ejecuto ahora me da el error "Anulada la solicitud: No se puede crear un canal seguro SSL/TLS", así que estoy en las mismas.

    ¿Alguien puede ayudarme con este error?, ya he probado de todo y llevo varios días con él.

    Muchas gracias.


    • Editado Zangetsu17 miércoles, 8 de marzo de 2017 12:47
    martes, 7 de marzo de 2017 11:22

Respuestas

  • La razon mas usual por la que se produce ese error es porque la aplicacion no puede reconocer el certificado. Por ejemplo, puede que no este instalado en ese equipo el certificado raiz de la autoridad que emitio el certificado del servicio web, o aunque este instalado, que la cuenta bajo la que se ejecuta la aplicacion no tenga acceso a el, o que el certificado que presenta el servidor este caducado, o alguna otra circunstancia similar.
    martes, 7 de marzo de 2017 16:10
  • [...] aunque me cambiasen la url para autentificarme con usuario y contraseña clásicos al webservice, ¿voy a seguir teniendo el problema con los certificados dígitales?.

    Ojo, son dos usos distintos del certificado. Una cosa es que te autentiques ante el servicio usando un certificado de lado cliente, en cuyo caso si prescindes de ese certificado y en su lugar te identificas con usuario y contraseña, entonces lógicamente desaparece cualquier problema con el certificado.

    Y otra cosa distinta es que uses un certificado de lado servidor para garantizarle al cliente que se conecta al servidor correcto y para establecer las claves de cifrado de la conexión segura. En este caso, tendrás problemas si el certificado no es correcto o si el cliente no puede validarlo, y esto no varía al cambiar el mecanismo de autenticación del cliente.

    jueves, 9 de marzo de 2017 7:18

Todas las respuestas

  • La razon mas usual por la que se produce ese error es porque la aplicacion no puede reconocer el certificado. Por ejemplo, puede que no este instalado en ese equipo el certificado raiz de la autoridad que emitio el certificado del servicio web, o aunque este instalado, que la cuenta bajo la que se ejecuta la aplicacion no tenga acceso a el, o que el certificado que presenta el servidor este caducado, o alguna otra circunstancia similar.
    martes, 7 de marzo de 2017 16:10
  • Gracias por responder Alberto,

    disculpa mi ignorancia, entoncés aunque me cambiasen la url para autentificarme con usuario y contraseña clásicos al webservice, ¿voy a seguir teniendo el problema con los certificados dígitales?.

    La empresa me paso una serie de certificados que tengo instalados en el equipo donde esta funcionando la aplicación. Y la fecha de caducidad del certificado que me han mandado esta bien.

    ¿Sabe si hay algo que pueda implementar en mi código de vb.net, para poder hacer el envio de datos y que no muestre el error?.

    Gracias y un saludo!!!

    miércoles, 8 de marzo de 2017 7:51
  • Al final me han dado una nueva URL para la conexión y una nueva estructura para mandar los datos.!!!
    miércoles, 8 de marzo de 2017 12:48
  • [...] aunque me cambiasen la url para autentificarme con usuario y contraseña clásicos al webservice, ¿voy a seguir teniendo el problema con los certificados dígitales?.

    Ojo, son dos usos distintos del certificado. Una cosa es que te autentiques ante el servicio usando un certificado de lado cliente, en cuyo caso si prescindes de ese certificado y en su lugar te identificas con usuario y contraseña, entonces lógicamente desaparece cualquier problema con el certificado.

    Y otra cosa distinta es que uses un certificado de lado servidor para garantizarle al cliente que se conecta al servidor correcto y para establecer las claves de cifrado de la conexión segura. En este caso, tendrás problemas si el certificado no es correcto o si el cliente no puede validarlo, y esto no varía al cambiar el mecanismo de autenticación del cliente.

    jueves, 9 de marzo de 2017 7:18
  • Gracias por tu respuesta.

    viernes, 17 de marzo de 2017 8:50
  •  AGREGA ESTA LINEA DE CODIGO:
    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    • Propuesto como respuesta rogo_2790 sábado, 6 de julio de 2019 16:05
    viernes, 28 de junio de 2019 17:21
  • Excelete respuesta. fue mi solicion
    sábado, 6 de julio de 2019 16:04
  • disculpa por la pregunta que realizare, pero en que apartado tengo que agregar la linea de código 

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

    en mi web.config

    martes, 9 de julio de 2019 15:15
  • No, eso no va en el web.config. Va dentro del código. Hay que ejecutarlo una única vez desde cualquier lugar del programa con la condición de que se ejecute antes de hacer cualquier llamada de comunicaciones. Internamente lo que hace es tomar nota del protocolo deseado en una variable interna de tipo estático, por lo que afecta globalmente a todo el programa con independencia del sitio desde el que lo hayas ejecutado.
    martes, 9 de julio de 2019 18:47