我已经设置了 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 的证书和元数据文件的证书。
他们两个是匹配的。
可能的问题是什么?请指导。