[英]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.