1

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

4

2 回答 2

0

我会回答我自己的问题!

显然,要完全信任地运行它,您只需要在 web 角色配置中启用NativeCodeExecution="true"。

于 2009-05-29T19:42:43.207 回答
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;
};
于 2017-05-24T11:40:03.227 回答