首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小妹请问WinFrom通过Https访问网站

2012-03-09 
小妹请教WinFrom通过Https访问网站操作系统Win7旗舰版,IIS7我创建了一个自签名的证书,然后创建了一个网站。

小妹请教WinFrom通过Https访问网站
操作系统Win7旗舰版,IIS7

我创建了一个自签名的证书,然后创建了一个网站。配置好了SSL环境。

导出了一个公钥的cer文件。

这个网站通过https访问,这个网站很简单,代码如下。

我想用一个WinFrom的程序来访问这个网站。我WinFrom里应该如何写啊!

WinFrom里我仿了很多例子,但是都不成功!代码贴出如下。请各位前辈指正。

应该如何改正。

Default.aspx

C# code
using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace SSLWeb{    public partial class _Default : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            string user_name=Request.QueryString["user_name"];            string password = Request.QueryString["password"];            if (user_name == "admin" && password == "admin")            {                Response.Write("OK");            }            else            {                Response.Write("Error");            }        }    }}


WinFrom窗体代码
C# code
private void Form1_Load(object sender, EventArgs e)        {            try            {                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://192.168.0.62/Default.aspx");                 ServicePointManager.CertificatePolicy   =   new   MyPolicy1();             //创建证书文件                X509Certificate objx509 = new X509Certificate("D:\\zhengshu\\tom_test.cer");            //添加到请求里            request.ClientCertificates.Add(objx509);            //User-AgentHTTP标头的值            request.UserAgent = "Client Cert Sample";            request.Method = "POST";            //我还想Post两个数据过去,同样不知道怎么处理。user_name和password            //读返回的流            StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream());             MessageBox.Show(reader.ReadToEnd());             }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }        }    }public   class   MyPolicy1   :   ICertificatePolicy     {         //这个方法应该是在client和server已经进行了初步验证之后才调用的。         //不能实现我的要求。         public   bool   CheckValidationResult(ServicePoint   srvPoint,   X509Certificate   certificate,   WebRequest   request,   int   certificateProblem)         {                 Console.WriteLine( "now   CheckValidationResult....... ");                 //Return   True   to   force   the   certificate   to   be   accepted.                 return   true;         }   //   end   CheckValidationResult     }   //   class   MyPolicy 


[解决办法]
...
直接连那个网站也是行的!
你这样你的证书有问题的!
[解决办法]
检查证书

热点排行