2006-12-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sat, 23 Dec 2006 08:25:22 +0000 (08:25 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sat, 23 Dec 2006 08:25:22 +0000 (08:25 -0000)
* net_1_1/DefaultWsdlHelpGenerator.aspx:
* net_2_0/DefaultWsdlHelpGenerator.aspx: when HTTPS is active, trust
all certificates when querying to our own server. Part 2 of the fix for
bug #80234.

svn path=/trunk/mono/; revision=69987

data/net_1_1/DefaultWsdlHelpGenerator.aspx
data/net_2_0/DefaultWsdlHelpGenerator.aspx

index afeeeb408320d470028362de005341421337364d..c4ceb2d4099ec197c654ec3463240f67dcd52059 100644 (file)
@@ -25,6 +25,7 @@
 <%@ Import Namespace="Microsoft.CSharp" %>
 <%@ Import Namespace="Microsoft.VisualBasic" %>
 <%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
 <%@ Assembly name="System.Web.Services" %>
 <%@ Page debug="true" %>
 
@@ -306,6 +307,13 @@ bool HasFormResult
        get { return Request.QueryString ["ext"] == "testform"; }
 }
 
+class NoCheckCertificatePolicy : ICertificatePolicy {
+       public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+       {
+               return true;
+       }
+}
+
 string GetTestResult ()
 { 
        if (!HasFormResult) return null;
@@ -339,7 +347,9 @@ string GetTestResult ()
        {
                string url = location + "/" + CurrentOperationName;
                Uri uri = new Uri (url);
-               WebRequest req = WebRequest.Create (url + "?" + qs);
+               HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url + "?" + qs);
+               if (url.StartsWith ("https:"))
+                       ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy ();
                HttpCookieCollection cookies = Request.Cookies;
                int last = cookies.Count;
                if (last > 0) {
index 7689ec0b356d3094d409042098d6f37ee041bf03..c4cee0dfc30249b92ee0ef45e6960a2c9c8d208c 100644 (file)
@@ -26,6 +26,7 @@
 <%@ Import Namespace="Microsoft.CSharp" %>
 <%@ Import Namespace="Microsoft.VisualBasic" %>
 <%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
 <%@ Assembly name="System.Web.Services" %>
 <%@ Page debug="true" %>
 
@@ -313,6 +314,13 @@ bool HasFormResult
        get { return Request.QueryString ["ext"] == "testform"; }
 }
 
+class NoCheckCertificatePolicy : ICertificatePolicy {
+       public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+       {
+               return true;
+       }
+}
+
 string GetTestResult ()
 { 
        if (!HasFormResult) return null;
@@ -346,7 +354,9 @@ string GetTestResult ()
        {
                string url = location + "/" + CurrentOperationName;
                Uri uri = new Uri (url);
-               WebRequest req = WebRequest.Create (url + "?" + qs);
+               HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url + "?" + qs);
+               if (url.StartsWith ("https:"))
+                       ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy ();
                HttpCookieCollection cookies = Request.Cookies;
                int last = cookies.Count;
                if (last > 0) {