自学内容网 自学内容网

第二十九章 添加数字签名 - 指定 KeyInfo 的规范化方法

第二十九章 添加数字签名 - 指定 <KeyInfo> 的规范化方法

默认情况下,<KeyInfo> 元素使用Exclusive XML Canonicalization进行规范化, 元素包括以下内容:

<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">

要使用包容性 XML 规范化来规范化此元素,请执行以下操作:

 Set sig.SignedInfo.CanonicalizationMethod.Algorithm=$$$SOAPWSc14n

其中 sig%XML.Security.Signature 的实例。

在这种情况下, <KeyInfo> 包含以下内容:

<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315">

添加签名确认

WS-Security 1.1 <SignatureConfirmation> 功能使 Web 客户端能够确保收到的 SOAP 消息是响应 Web 客户端发送的原始请求而生成的。客户端请求通常经过签名,但并非必须如此。在此机制中,Web 服务将 <SignatureConfirmation> 元素添加到安全标头元素,Web 客户端可以检查该 <SignatureConfirmation>元素。

对于 Web 服务,要将<SignatureConfirmation> 元素添加到安全标头元素:

  1. 调用 Web 服务的 WSAddSignatureConfirmation() 方法。对于参数,请指定安全标头元素的主签名。例如:
 do ..WSAddSignatureConfirmation(sig)
  1. 照常发送 SOAP 消息。请参阅添加安全标头元素中的一般注释。

此方法将 WS-Security 1.1 <SignatureConfirmation> 元素添加到出站消息中。它为 SecurityIn 中收到的每个 <Signature>SecurityOut 属性添加一个 <SignatureConfirmation> 元素。

如果 SecurityIn 不包含签名,则会添加不带 Value 属性的 <SignatureConfirmation> 元素,这是 WS-Security 1.1 的要求。

有关验证<SignatureConfirmation> 元素的信息,请参阅检查签名确认。


原文地址:https://blog.csdn.net/yaoxin521123/article/details/142375647

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!