连接Azure Service Management API时出现证书问题

时间:2011-04-08 04:57:15

标签: .net api azure certificate x509certificate

我在获取托管服务列表时遇到问题。我的代码如下:

 string requestUrl = "https://management.core.windows.net/" + SubscriptionID + "/services/hostedservices";

        string ReturnBody = string.Empty;
        WebResponse resp = null;
        try
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            NameValueCollection RequestHeaders = new NameValueCollection();
            RequestHeaders.Add("x-ms-version", x_ms_version);
            X509Certificate cert = X509Certificate.CreateFromCertFile(CertificatePath);
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUrl);
            request.Method = "GET";
            request.ClientCertificates.Add(cert);
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            if (RequestHeaders != null)
                request.Headers.Add(RequestHeaders);
            resp = request.GetResponse();              
        }
        catch (WebException webEx)
        {
            //ERROR: The request was aborted: Could not create SSL/TLS secure channel.” error.
        }
        catch (Exception excep)
        {

        }
        finally
        {
            if (resp != null) { resp.Close(); }
            resp = null;
        }  

我在运行上面代码时遇到“请求已中止:无法创建SSL / TLS安全通道”... 关于这一点的一个关键点是,在我的一个WPF应用程序中,相同的代码工作正常,但在Web应用程序中出错。 因此,它可能会发布IIS安全性,我通过向该文件夹的每个人授予权限来进行不成功的尝试。

提前感谢您的想法。

Naresh Goradara

1 个答案:

答案 0 :(得分:1)

我相信我在MSDN论坛上回复了这个问题:http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/5e6a2cfd-c2b6-4880-a79c-4bf39f4d7ca8/#b427afb6-d68f-4591-8466-870e791b43c9

你有没有试过我的建议?甚至在那之后你会得到什么错误。

拉​​夫