我需要自动登陆一个需要用usb数字证书建立ssl连接的网站.
我写了一个控制台程序,能登陆该网站,但我将相同的代码放在asp.net环境下,就出错了,提示远程服务器强制关闭了一个现有的连接.
我已经将aspnet,iuser用户的权限扩展到administrator了还是没用,高手给点思路.谢谢!!

解决方案 »

  1.   

    从目前看来没有别的好方法,只能用WEB SERVICE
      

  2.   

    为什么我用控制台程序可以访问而用asp.net程序就不行了呢?
      

  3.   

    我做成webservice,然后调用一样不行啊。
    还是以前的提示错误,贴出来大家帮帮忙啊。
    [SocketException (0x2746): 远程主机强迫关闭了一个现有的连接。]
       System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) +373
       System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +102[IOException: 无法从传输连接中读取数据。]
       System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +150
       System.Net.TlsStream.ForceRead(Byte[] space, Int32 offset, Int32 amount) +40
       System.Net.TlsStream.ReadFullRecord(Byte[] buffer, Int32 length) +253
       System.Net.TlsStream.Handshake(ProtocolToken message) +163[WebException: 基础连接已经关闭: 无法建立 SSL/TLS 的安全通道。]
       System.Net.HttpWebRequest.CheckFinalStatus() +676
       System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +139
       System.Net.HttpWebRequest.GetResponse() +147
       Webtest.WebForm1.Login(String url, CookieContainer cookie) in c:\inetpub\wwwroot\webtest\list.aspx.cs:143
       Webtest.WebForm1.btPost_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webtest\list.aspx.cs:90
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
       System.Web.UI.Page.ProcessRequestMain() +1277
      

  4.   

    SSL的证书问题public class AcceptAllCertificatePolicy : System.Net.ICertificatePolicy
    {
    #region ICertificatePolicy 成员 public bool CheckValidationResult(ServicePoint srvPoint, System.Security.Cryptography.X509Certificates.X509Certificate certificate, WebRequest request, int certificateProblem)
    {
    // TODO:  添加 AcceptAllCertificatePolicy.CheckValidationResult 实现
    return true;
    } #endregion}
    System.Net.ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();