我正在尝试为针对 SAML 规范的 SAML 断言编写一个跨平台验证器。我需要一个多平台 XML 验证器,它可以接受用于与 XML 中的属性进行比较的参数。例如发送 senderID 以验证发件人 id 是“identProvider”
有谁知道可以做到这一点的 XML 验证框架?
我正在尝试为针对 SAML 规范的 SAML 断言编写一个跨平台验证器。我需要一个多平台 XML 验证器,它可以接受用于与 XML 中的属性进行比较的参数。例如发送 senderID 以验证发件人 id 是“identProvider”
有谁知道可以做到这一点的 XML 验证框架?
据我所知(基于构建类似的东西),真的没有这样的事情。如果您愿意,您可以随时破解各种 SAML 工具包——那里有很多。
我的个人工具是一个 bash 脚本,它利用了许多东西——base64 、非常方便的xmlsectool、一些openssl,当然还有xmllint。它很老套(我不是 Java 开发人员)、丑陋的(功能重于形式),而且是瓷器店里的牛(我一直在里面发现问题!)......所以它肯定不是为公众视野中的明亮灯光。不过这很好,因为它可以接受 base64 编码的请求或响应并验证基础知识(证书、签名、加密),以及吐出未编码的请求或响应。其余的(就像您想要做的那样),我通常手动完成,因为我支持我们的产品,并且通常没有实际的连接定义摆在我面前。
做到这一点的“正确”方法是让供应商(比如我工作的那个)在产品中包含一些允许您粘贴响应或请求的内容,并让它针对产品中配置的连接进行验证,并且告诉你到底出了什么问题。我们正在研究这样一个野兽(还没有预计到达时间,但我认为已经完成了大约 70%),因为它减少了我们接听的支持电话的数量,可能减少了近 25%。当然,如果产品不符合规范......这一切都会消失。