我目前正在编写一个使用soap sercvice的客户端,并注意到我们正在编写的客户端SOAP调用中的一些奇怪的东西,而不是我从Web服务供应商处获得的示例。
对于ValueType
的{{1}}属性,它使用BinarySecurityToken
作为类型,而我的示例使用http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
,其中wsse定义为wsse:X509v3
}。
从相当数量的互联网研究中,这些名称空间似乎被平等使用,我怀疑它们是等价的,但仍然怀疑是否存在差异以及为什么有两个名称空间。
同样适用于http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
,您可以使用EncodingType
或
wsse:Base64Binary
有什么想法吗?
答案 0 :(得分:1)
我完成了WSS X509 Token Profile 1.0和WSS X509 Token Profile 1.1规范。似乎ValueType的两个值都是正确的。但“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0”不是命名空间。它是为规范定义的URI [规范1.0的第171行和规范1.1的第158行]。两个规范都使用WSSE,即http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd作为命名空间。
所以我的结论是ValueType =“wsse:x509v3”(规范1.0行308)相当于ValueType =“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss -x509-token-profile-1.0#X509v3“(规范1.1第340行)