SSL HttpWebRequest到Azure上的证书不匹配?

时间:2009-05-28 00:27:28

标签: c# ssl httpwebrequest azure

我们的客户在其QA环境中拥有不匹配的SSL证书。我们正在从Azure Web角色中对受SSL保护的Web资源进行HttpWebRequest调用。为了绕过他们的证书,我们将ServicePointManager.CertificatePolicy设置为接受所有证书的新策略。这适用于完全信任环境,但当我们尝试在不完全信任的Azure环境中设置CertificatePolicy时,会因SecurityPermission异常而失败。有没有办法让我们可以在Azure服务中运行这些调用?

2 个答案:

答案 0 :(得分:0)

我会回答我自己的问题!

显然,要完全信任它,您只需在Web角色配置中启用EnableCodeExecution =“true”。

答案 1 :(得分:0)

这可能是什么吗?

System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate (
    object sender,
    X509Certificate cert,
    X509Chain chain,
    SslPolicyErrors sslPolicyErrors)
{
    if (sslPolicyErrors == SslPolicyErrors.None)
    {
        return true;   //Is valid
    }
    //Add the mismatched certificate hashstring below. 
    //That way only that resource will be affected and not all certificates will be trusted.
    if (cert.GetCertHashString() == "99E92D8447AEF30483B1D7527812C9B7B3A915A7")
    {
        return true;
    }

    return false;
};