Identity Server 不验证 SAML LogoutRequest 签名
Identity Server does not validate SAML LogoutRequest Signature
我有 WSO2 IS 运行 和一个设置了 SAML 入站身份验证的服务提供商。我为 SAMl 服务提供商启用了 "Enable Signature Validation in Authentication Requests and Logout Requests" 复选框。
如果我发送未正确签名的 AuthnRequest,它将出错。但是,如果我发送带有 no 签名(或由完全不同的 cert/key 制作的签名)的 LogoutRequest,它将无误地注销我的用户。如何启用实际签名验证 WSO2 IS?
我是 运行 最新的 WSO2 Docker 容器。根据这个启动日志,我相信那是 IS 5.7.0:
Starting WSO2 Carbon...
Operating System : Linux 4.9.93-linuxkit-aufs, amd64
Java Home : /home/wso2carbon/java/jre
Java Version : 1.8.0_144
Java VM : Java HotSpot(TM) 64-Bit Server VM 25.144-b01,Oracle Corporation
Carbon Home : /home/wso2carbon/wso2is-5.7.0
Java Temp Dir : /home/wso2carbon/wso2is-5.7.0/tmp
似乎由于代码中的问题,签名验证 [1] 在注销请求中被跳过。请参考 git 问题 [2] 来跟踪它。
[1] https://github.com/wso2-extensions/identity-inbound-auth-saml/blob/ee338982c1add8f75f1132a6b3bacb30cee7989b/components/org.wso2.carbon.identity.sso.saml/src/main/java/org/wso2/carbon/identity/sso/saml/processors/SPInitLogoutRequestProcessor.java#L130
[2] https://github.com/wso2/product-is/issues/4048
我有 WSO2 IS 运行 和一个设置了 SAML 入站身份验证的服务提供商。我为 SAMl 服务提供商启用了 "Enable Signature Validation in Authentication Requests and Logout Requests" 复选框。
如果我发送未正确签名的 AuthnRequest,它将出错。但是,如果我发送带有 no 签名(或由完全不同的 cert/key 制作的签名)的 LogoutRequest,它将无误地注销我的用户。如何启用实际签名验证 WSO2 IS?
我是 运行 最新的 WSO2 Docker 容器。根据这个启动日志,我相信那是 IS 5.7.0:
Starting WSO2 Carbon...
Operating System : Linux 4.9.93-linuxkit-aufs, amd64
Java Home : /home/wso2carbon/java/jre
Java Version : 1.8.0_144
Java VM : Java HotSpot(TM) 64-Bit Server VM 25.144-b01,Oracle Corporation
Carbon Home : /home/wso2carbon/wso2is-5.7.0
Java Temp Dir : /home/wso2carbon/wso2is-5.7.0/tmp
似乎由于代码中的问题,签名验证 [1] 在注销请求中被跳过。请参考 git 问题 [2] 来跟踪它。
[1] https://github.com/wso2-extensions/identity-inbound-auth-saml/blob/ee338982c1add8f75f1132a6b3bacb30cee7989b/components/org.wso2.carbon.identity.sso.saml/src/main/java/org/wso2/carbon/identity/sso/saml/processors/SPInitLogoutRequestProcessor.java#L130
[2] https://github.com/wso2/product-is/issues/4048