使用WantAssertionsSigned="false“生成的sp元数据允许在spring-saml SP中处理伪造的saml响应。
也许这是显而易见的,但我希望专家能证实这一点。
如果我创建了一个带有“未签名元数据”的假idp,并且在encryptAssertions=-party.xml中设置了“never”和“never”,
我可以向sp发送任何我想要的断言,因为verifyAssertionSignature被跳过了,并且检查"//确保至少一个断言包含身份验证//语句,并且主题具有承载确认“总是肯定的。
我已经在org.springframework.security.saml.websso.WebSSOProfileConsumerImpl中更改了默认值和布尔值wantSigned = true;,因为我根本不允许这样做。
提前感谢
alessandro
发布于 2015-06-05 22:27:07
将wantAssertionsSigned设置为false确实意味着传入的消息不需要数字签名(相当于Shibboleth中的never/never )。我同意这是一个危险的环境,并将使其含义更加明确。
https://stackoverflow.com/questions/30646269
复制相似问题