我使用组件空间SAML2.0
设置了IDP服务提供商也在组件空间SAML2.0
上证书算法:RSASHA256
我们没有服务提供商证书详细信息,因为我们在没有AuthRequest的情况下发送SAMLResponse
<IdentityProvider Name="http://localhost/ExampleIdentityProvider"
Description="Example Identity Provider"
LocalCertificateFile="Certificates\idp.pfx"
LocalCertificatePassword="password"/>
<PartnerServiceProviders>
<!-- Web forms example -->
<PartnerServiceProvider Name="abc"
Description="Example Service Provider"
WantAuthnRequestSigned="false"
SignSAMLResponse="true"
SignAssertion="false"
EncryptAssertion="false"
AssertionConsumerServiceUrl="https://abc.xyz/sso/saml/servicerequest"
SingleLogoutServiceUrl="http://abc.xyz/sso/saml"
PartnerCertificateFile="Certificates\sp.cer"/>
我在发送断言时遇到了这些错误。
CryptographicException:指定的算法无效。
SAMLSignatureException:无法生成XML签名。
答案 0 :(得分:1)
如果您使用我们的示例中包含的idp.pfx文件,您是否会收到相同的错误? 如果没有,我怀疑你的私钥没有指定正确的加密服务提供程序(CSP)来支持SHA-256签名生成。 请参阅以下文章,该文章解释了如何指定正确的CSP。