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

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

作者: Cache技术分享 | 来源:发表于2024-09-19 09:38 被阅读0次

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

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

    <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> 元素的信息,请参阅检查签名确认。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/xisoljtx.html