[英]WSO2 IS 4.6.0: Composition of Signed SAML Authentication Request
有人知道创建签名SAML身份验证请求的正确步骤顺序吗?
我尝试了以下步骤,但不幸的是WSO2IS抛出异常
SHA1withRSA
)与 SAMLRequest =值&SigAlg =值
提前致谢
异常消息:
错误{org.opensaml.xml.security.SigningUtil}-签名验证java.security.SignatureException期间出错:签名长度不正确:得到252,但在java.sun.security.rsa.RSASignature.engineVerify(Unknown Source)处期望为256 org.opensaml.xml的java.security.Signature.verify(未知源)的.security.Signature $ Delegate.engineVerify(未知源) org.opensaml.xml上的security.SigningUtil.verify(SigningUtil.java:215)org.opensaml.xml.signature.impl.ExplicitKeySignatureTrustEngine.validate(ExplicitKeySignatureTrustEngine.java:的安全.SigningUtil.verifyWithURI(SigningUtil.java:184) 156),网址为org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil.validateDeflate.validateDef.org(sAML2HTTPRedirectDeflateSignatureValidator.validateSignature(SAML2HTTPRedirectDeflateSignatureValidator.java:78)。 625),网址为org.wso2.carbon.identity.sso.saml.util.SAMLSS org.wso2.carbon.identity.sso.saml.processors.SPInitSSOAuthnRequestProcessor.process(SPInitSSOAuthnRequestProcessor.java:108)的OUtil.validateAuthnRequestSignature(SAMLSSOUtil.java:578)在org.wso2.carbon.identity.sso.saml.SAMLSSOService。在org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet处在org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleRequestFromLoginPage(SAMLSSOProviderServlet.java:415)处进行authenticate(SAMLSSOService.java:192)。 org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.doPost(SAMLSSOProviderServlet.java:81)上的handleRequest(SAMLSSOProviderServlet.java:127)在javax.servlet.http.HttpServlet.service(HttpServlet.java:755)上在javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
以下是WSO2IS支持的HTTP重定向绑定规范中的方法。 因此,您所做的不正确。 我想您已经错过了压缩部分。
如果SAML请求使用XML签名进行了签名。 然后,我们还需要对消息的URL编码形式进行签名,如下所示。
6,签名算法标识符必须包含URL编码
7,签名是为后面的字符串构造的(这里的顺序很重要)
SAMLRequest =值&RelayState =值&SigAlg =值
8,签名值必须使用base64编码进行编码,并删除所有空格,并将其作为名为Signature
的查询字符串参数包含在内
如果您通过此示例SP实现,可以看到它是如何完成的。 有一个名为SAML2SSOManager
和方法buildRequest
。 你可以通过它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.