在 WS Security 中使用单一证书

Use single certificate in WS Security

我正在 SOAP 中的 WS-Security 配置中工作 UI。在签名中,我有一个名为 "Use Single Certificate for signing" 的选项,我尝试选中它并取消选中它,请求是相同的。我没有发现差异。我应该什么时候使用该选项?

我试图在 google 上搜索,我找不到答案。如果我的理解有误,请原谅我。

在 SOAP Body 中出现 wsu:Id 的原因:

  • 此属性定义为 xsd:ID 类型,提供了众所周知的 用于指定元素的本地 ID 的属性。
  • 用于定位消息中的元素,例如将签名关联到 秒。代币
  • XML Schema 定义了几种 id 和引用数据类型,但是它们
    要求消费者拥有或获得架构定义。

在 OP 中进行了一些搜索后,我们似乎找到了答案。

此检查在 <wsse:Security> headers 中添加特定的 <wsse:BinarySecurityToken>,指定证书(在 SOAPUI 特定情况下指定用于执行签名的证书)。

oasis spec可以看出这个元素的定义:

3.1 Token types

This profile defines the syntax of, and processing rules for, three types of binary security token using the URI values specified in Table 2 (note that URI fragments are relative to the URI for this specification).

3.1.1 X509v3 Token Type

The type of the end-entity that is authenticated by a certificate used in this manner is a matter of policy that is outside the scope of this specification.

在本文档中还有一个 <wsse:BinarySecurityToken> 节点添加到 <wsse:Security> headers 的示例,它基本上是 <wsse:BinarySecurityToken>valueType"wsse:X509v3" 属性和该节点文本值中编码为base64的证书:

<wsse:BinarySecurityToken 
   wsu:Id="binarytoken" 
   ValueType="wsse:X509v3"
   EncodingType="wsse:Base64Binary">MIIEZzCCA9CgAwIBAgIQEmtJZc0…
</wsse:BinarySecurityToken>