使用WantAssertionsSigned =“false”生成的SP元数据允许在spring-saml sp中处理伪造的saml响应。
也许这很明显,但我希望专家确认一下。
如果我使用“非签名元数据”创建假idp 在relying-party.xml中我设置signAssertions =“never”encryptAssertions =“never”,
我可以向sp发送任何我想要的断言,因为verifyAssertionSignature被跳过并且检查 “//确保至少有一个断言包含身份验证 //声明和主题与持有人确认“ 总是积极的。
我更改了默认值 boolean wantSigned = true; 在org.springframework.security.saml.websso.WebSSOProfileConsumerImpl 因为我不能允许它。
提前致谢
的Alessandro
答案 0 :(得分:0)
将wantAssertionsSigned
设置为false
意味着传入的消息不需要数字签名(相当于Shibboleth中的never / never)。我同意这是一个危险的环境,并且会使其含义更加明确。