Pregunta

No sé si tengo toda la información necesaria para formular bien esta pregunta, así que ten paciencia.

Tengo una página web local (significado local 192.168. *) que está protegida con un certificado SSL autofirmado. Estoy intentando acceder a esta página utilizando un objeto System.Net.HttpWebRequest, pero tengo un problema extraño.

Si se accede a esta página en Internet Explorer con " Utilizar SSL 2.0 " opción desactivada, el navegador devuelve un error como si no pudiera establecer una conexión. (En otras palabras, un error de conexión del navegador, en lugar de un error enviado por el servidor). Si el " Usar SSL 2.0 " la opción está activada, la página funciona bien y recibe la advertencia estándar de que se trata de un certificado autofirmado, desea continuar, etc. (Curiosamente, Firefox, que supuestamente no tiene SSL 2.0 activado, funciona solo bien.)

Ahora mi problema es que estoy intentando acceder a esta página con un objeto HttpWebRequest y el error que está volviendo es que la conexión se ha cerrado inesperadamente, al igual que el error que arroja IE cuando '' Usa SSL 2.0 '' esta apagado. (Ya tengo un código implementado para ignorar el hecho de que es un certificado autofirmado, pero ni siquiera está llegando tan lejos).

¿Cómo obtengo System.Net.HttpWebRequest para, bueno, " Usar SSL 2.0 " cuando hace su solicitud?

¿Fue útil?

Solución

Me he topado con este problema cuando trato con Ssl3, aunque no estoy seguro de si el mismo consejo funcionaría para SSL2.

Para solucionar el problema, establezco la marca Ssl3 en el protocolo de seguridad de este modo:

  

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

Consulte estos enlaces para obtener más detalles:

system.net.servicepointmanager.securityprotocol en MSDN

enumeración del protocolo de seguridad en MSDN

Puede que te indiquen la dirección correcta si tienes suerte :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top