【问题标题】:Certificate issue when Connecting with Azure Service Management API使用 Azure 服务管理 API 连接时的证书问题
【发布时间】:2011-08-01 05:29:50
【问题描述】:

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

 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 安全问题,我尝试向所有人授予该文件夹的权限,但未成功。

提前感谢您的想法。

纳雷什·戈拉达拉

【问题讨论】:

    标签: .net api azure certificate x509certificate


    【解决方案1】:

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

    您是否尝试过我提出的建议?在那之后你得到的错误是什么。

    高拉夫

    【讨论】:

    • 嗨,Gaurav,我已设置对我的 VD 的完全访问权限,但仍然无法正常工作。
    • Naresh --> 实际上,您需要提供对证书的完全访问权限。所以你要做的是找到证书文件,右键单击,然后在安全选项卡下为每个人提供完全权限。这应该可以解决问题。
    • @Gaurav;我仍然收到错误消息:远程服务器返回错误:(403)禁止访问。可能是什么问题?
    • 这太奇怪了。我刚刚复制了您的代码并构建了一个小型 ASP.Net 项目,当我从 Visual Studio(作为管理员和非管理员)运行它时,它运行得非常好。我可以看到我的托管服务列表。您能否检查是否已在“管理证书”部分下的 Windows Azure 门户的“CertificatePath”中上传了您正在使用的 .cer 文件?
    • 正如我告诉你的,如果我从默认端口运行它,它在网站上也可以工作,但是当我通过创建虚拟目录在 IIS 下运行它时问题就开始了。
    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多