ITfoxtec Identity SAML 2.0-签名注销请求



我们现在已经为我们的几个客户实现了您出色的Identity Saml2包。

然而,我们的一位客户写信给我们如下:

LogoutRequest需要签名(强制(,我需要添加您正在使用的证书签名到元数据中,以验证它是[你的申请]签署的。

相同的证书也用于对AuthnRequest进行签名(但是这是可选但优选的(

我们不知道该怎么办。如有任何建议,我们将不胜感激。

如果有帮助,下面是我们为该客户提供的应用程序web.config:

<add key="SamlSpSettings:entityid" value="https://fmcentralqa.csu.edu.au/sisfm-enquiry" />
<add key="SamlSpSettings:acs"      value="https://fmcentralqa.csu.edu.au/SISfm-Enquiry/CSU/saml.aspx" />
<add key="SamlIdpSettings:entityid"  value="https://idpqa.csu.edu.au/idp/shibboleth" />
<add key="SamlIdpSettings:loginurl"  value="https://idpqa.csu.edu.au/idp/profile/SAML2/Redirect/SSO" />
<add key="SamlIdpSettings:logouturl" value="https://idpqa.csu.edu.au/idp/profile/SAML2/Redirect/SLO" />
<add key="SamlIdpSettings:signercert1" value="...................." />
<add key="SamlIdpSettings:saml2sessionindex" value="http://schemas.itfoxtec.com/ws/2014/02/identity/claims/saml2sessionindex" />
<add key="SamlIdpSettings:saml2nameidformat" value="http://schemas.itfoxtec.com/ws/2014/02/identity/claims/saml2nameidformat" />
<add key="SamlIdpSettings:uid"          value="urn:oid:0.9.2342.19200300.100.1.1" />
<add key="SamlIdpSettings:emailaddress" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" />
<add key="SamlIdpSettings:name"         value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" />
<add key="SamlIdpSettings:givenname"    value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" />
<add key="SamlIdpSettings:surname"      value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" />
<add key="SamlIdpSettings:groups"       value="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups" />

谢谢。

SAML 2.0标准要求对LogoutRequest进行签名是正确的。

您需要应用程序和配置证书的证书。

  • 在配置文件中:https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/appsettings.json#L16
  • 并加载配置的证书:https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/Startup.cs#L35

您也可以通过thumbprint从计算机证书存储加载证书。

saml2Configuration.SigningCertificate = CertificateUtil.Load(StoreName.My, StoreLocation.LocalMachine, X509FindType.FindByThumbprint, Configuration["Saml2:SigningCertificateThumbprint"]);

最新更新