-1

我已经设置了 IdentityServer 和 SustainSys Saml2 库。我正在使用从 PingIdentity (IdP) 生成的元数据文件。它之前工作正常。最近他们更改了证书。所以早些时候证书是由其他提供商颁发的,现在新证书是由其他提供商生成的。因此,我们要求更新元数据 xml 文件并将其替换为旧文件。

这样做之后,当我们尝试它时会抛出以下异常消息。“使用签名中包含的密钥正确验证了签名,但该密钥不受信任”

我正在使用以下配置选项。

            string configuredIdentityProviderEntityId = System.Configuration.ConfigurationManager.AppSettings["IdentityProviderEntityId"];
            string configuredIdentityProviderMetaDataLocation = System.Configuration.ConfigurationManager.AppSettings["IdentityProviderMetaDataLocation"];

            var options = new Saml2AuthenticationOptions(false)
            {
                SPOptions = new SPOptions
                {
                    EntityId = new EntityId(configuredEntityId),
                    MinIncomingSigningAlgorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
                },
                SignInAsAuthenticationType = signInAsType,
                Caption = "SAML"
            };

            options.SPOptions.Compatibility.IgnoreAuthenticationContextInResponse = true;

            options.SPOptions.ServiceCertificates.Add(new X509Certificate2(
                AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "/App_Data/Sustainsys.Saml2.Tests.pfx"));
 options.IdentityProviders.Add(new IdentityProvider(
                new EntityId(configuredIdentityProviderEntityId),
                options.SPOptions)
            {
                LoadMetadata = true,
                MetadataLocation = configuredIdentityProviderMetaDataLocation
            });

我们已经验证了响应 SAML 的证书和元数据文件的证书。

他们两个是匹配的。

可能的问题是什么?请指导。

4

1 回答 1

3

它起作用了,在更改元数据文件后它给出了错误。回收应用程序池后,它开始正常工作。

于 2019-08-28T03:54:56.747 回答