我尝试添加SSO(单点登录)并使用SAML2协议。我们使用WSO2作为身份提供者,并将服务提供者实现为Sinatra Web应用程序。我们在Sinatra的一侧使用ruby-saml
gem。
在我们添加证书并启用签名验证之前,它很有效。服务提供商成功检查响应,但WSO2身份提供商拒绝请求,因为签名验证错误。
我们已经重新检查过证书,域名......一切都是正确的。根据WSO2的调试日志,我们在org.apache.xml.security.signature.XMLSignature
失败了......我们无法从这个类中看到调试日志记录,因此无法准确找出失败的原因。
WSO2身份服务器的日志:
DEBUG - Attempting to validate signature using key from supplied credential {org.opensaml.xml.signature.SignatureValidator}
DEBUG - Creating XMLSignature object {org.opensaml.xml.signature.SignatureValidator}
DEBUG - Validating signature with signature algorithm URI: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 {org.opensaml.xml.signature.SignatureValidator}
DEBUG - Validation credential key algorithm 'RSA', key instance class 'sun.security.rsa.RSAPublicKeyImpl' {org.opensaml.xml.signature.SignatureValidator}
WARN - Signature Validation Failed for the SAML Assertion : Signature is invalid. {org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil}
DEBUG - org.wso2.carbon.identity.base.IdentityException: Signature Validation Failed for the SAML Assertion : Signature is invalid. {org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil}
WARN - Signature validation for Authentication Request failed. {org.wso2.carbon.identity.sso.saml.processors.SPInitSSOAuthnRequestProcessor}
你能否提出任何其他失败原因?#34;你使用了错误的证书"