【问题标题】:certificateValidationMode seems to be ignored by AzureAzure 似乎忽略了 certificateValidationMode
【发布时间】:2013-02-26 16:25:26
【问题描述】:

我正在为 Windows azure 开发一个使用 WSFederation 进行身份验证的解决方案(网络应用程序)。由于我处于 azure 测试阶段(本地测试成功),我决定使用与本地测试相同的自签名证书。

这里的问题是我收到一条错误消息,指出“X.509 证书 CN=mytestsite.com.br 不在受信任的人员存储中。X.509 证书 CN= mytestsite.com.br 链构建失败。使用的证书具有无法验证的信任链

这个错误是完全有道理的,因为它是一个自签名的证书,但是因为我在一个暂存环境中(我现在绝对不想向我的赞助商要求额外的预算来获得一个有效的证书......)我想要无论如何都要使用自签名的。于是我把certificateValidationMode改成了“None”,但还是出现同样的验证错误……看来验证模式被忽略了!!!

有谁知道我可以做些什么来让事情顺利进行? (购买有效证书将是我的最后一次尝试,因为目前它们对于我的预算来说相当昂贵......)

【问题讨论】:

  • 发布相关的 web.config 部分

标签: azure web-config x509certificate


【解决方案1】:

我将只使用自签名证书,使用代码将其“部署”到您的 Trusted People 商店,一切都会好起来的。无论如何,这将更接近于实际生产使用(如果您在生产中使用 PeerTrust,即使使用 real 证书,您也必须在那里做同样的事情。

    private static void CopyServerCertIntoPeopleStore()
    {
        var myStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
        myStore.Open(OpenFlags.ReadOnly);
        var peopleStore = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
        var cert = myStore.Certificates.Find(
                                X509FindType.FindByThumbprint,
                                SettingFetcher.GetSetting(SettingFetcher.SettingType.ApplicationVariable, "WcfServiceCertificateThumbprint"),
                                true
                              ).OfType<X509Certificate2>().First();

        peopleStore.Open(OpenFlags.ReadWrite);
        peopleStore.Add(cert);
    }

使用类似的东西,只需将 SettingFetcher 替换为 RoleEnvironment.GetConfigurationSettingValue 或其他获取指纹的内容。

【讨论】:

  • 我还没有尝试过(因为我无法将自己部署到 azure),但它可以在 azure 云服务上运行吗?
  • 我们现在在 Worker Roles 和 Web Roles 中都使用这个确切的代码。 唯一不应该为您复制/粘贴的部分将是 1) 识别要提取的证书的机制(尽管这也可能有效)和 2) 我的 SettingFetcher 代码从配置存储中提取指纹。否则,此代码应该适合您。
  • +1 谢谢你,但我设法通过将“certificateValidationMode”添加到 STS web.config 来做到这一点......稍后我会尝试你的解决方案......
【解决方案2】:

我设法通过将“certificateValidationMode”添加到 STS web.config 来实现。

【讨论】:

    猜你喜欢
    • 2021-10-28
    • 2016-09-30
    • 2016-03-16
    • 2014-02-03
    • 2012-03-11
    • 2013-09-07
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多