Consumir una URL a través de un Proxy usando Certificados
Esta duda surgió ya que en mi trabajo el internet es a través de un proxy, pero por llevar poco tiempo en la empresa aun no tengo privilegios para navegar en internet, asi que tuve que crear un proxy y usar el usuario y contraseña de un compañero para poder probar lo que estaba haciendo, uno de los problemas que me encontre es que el certificado no funcionaba y esto fue ya que desde la version 1.1 con un Service Pack especifico si se intenta usar un certificaco en una pagina cuya direccion es distinta a la que dice en el certificado da error, es decir, la dirección a la que tenia q acceder era una ip 172.23.233.12 pero en el certificado decía que era una pagina www.mipagina.com, gracias a "San Google" pude encontrar la respuesta…
Ahi se los dejo, espero les Sirva…
//Hay q forzar a aceptar el certificado, ya que //el nombre que se utiliza en la solicitud HTTP no //coincide con el nombre del servidor que se emite con el certificado SSL
System.Net.ServicePointManager.CertificatePolicy = new MyPolicy(); WebProxy proxy = new WebProxy("http://servidorconproxy:8080/",true); proxy.Credentials = new NetworkCredential("user","password"); System.Net.HttpWebRequest hr=System.Net.WebRequest.Create(https://www.unapagina.com) as System.Net.HttpWebRequest ; hr.Proxy = proxy; HttpWebResponse o=hr.GetResponse() as HttpWebResponse; Stream stream= o.GetResponseStream(); XmlDocument xD= new XmlDocument(); xD.Load(stream); XmlNode n; n = xD.SelectSingleNode("InvoiceConfirmationRS");
object aver=n;
using System.Net;
using System.Security.Cryptography.X509Certificates;
namespace WebApplication1
{
/// <summary>
/// Fuerza a aceptar Certificados cuya url es distinta de la pagina que se esta viendo
/// </summary>
//Hay q forzar a aceptar el certificado, ya que
//el nombre que se utiliza en la solicitud HTTP no
//coincide con el nombre del servidor que se emite con el certificado SSL
public class MyPolicy : ICertificatePolicy
{
public bool CheckValidationResult(
ServicePoint srvPoint ,
X509Certificate certificate
, WebRequest request
, int certificateProblem)
{
//Return True to force the certificate to be accepted.
return true;
} // end CheckValidationResult
} // class MyPolicy
}
¿Disfrutaste esta entrada? Por qué no dejas un comentario abajo y continúas la conversación, o te suscribes a mi feed y obtienes artículos como este enviados a tu lector de feeds.

cdaj xktzhd xchlk rftnxk
http://bleach-xxx.silversmog.cn bleach xxx