美文网首页
第三十一章 使用派生密钥令牌进行加密和签名 - 变体:创建隐式

第三十一章 使用派生密钥令牌进行加密和签名 - 变体:创建隐式

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

    第三十一章 使用派生密钥令牌进行加密和签名 - 变体:创建隐式 <DerivedKeyToken>

    变体:创建隐式 <DerivedKeyToken>

    还可以创建隐式 <DerivedKeyToken>,这是引用 <DerivedKeyToken> 的快捷方法。在此方法中:

    • 消息中不包含 <DerivedKeyToken>
    • 在使用 <DerivedKeyToken> 的元素中,<SecurityTokenReference> 元素指定 Nonce 属性,该属性包含用于 <DerivedKeyToken>nonce 值。这向消息接收者表明派生密钥令牌是隐含的,并且是从引用的令牌派生的。

    要创建隐式 <DerivedKeyToken>,请使用前面描述的一般过程,但有两处更改:

    1. 对于派生的密钥令牌实例,将 Implied 属性设置为 1
     set dkt.Implied=1
    
    1. 请勿将 <DerivedKeyToken> 元素添加到 WS-Security 标头元素。

    使用 <DerivedKeyToken> 的方式与将其包含在消息中的方式完全相同。

    变体:引用 <EncryptedKey>SHA1 哈希

    在此变体中(仅适用于 Web 服务),发送者不在消息中包含 <EncryptedKey> 元素,而是引用密钥的 SHA1 哈希。Web 服务可以引用在入站消息中收到的 <EncryptedKey> 元素。

    使用前面的一般程序,但需做以下更改:

    • 步骤 2-4 是可选的。.
    • 省略步骤 5(不要添加 <EncryptedKey>)。
    • 在步骤 6 中,当您使用 Create() 创建派生密钥令牌时,若要使用从客户端收到的 <EncryptedKey>,请省略第一个参数。或者,如果您已创建 <EncryptedKey>,请将其用作第一个参数。

    指定 $$$SOAPWSReferenceEncryptedKeySHA1 作为第二个参数。

    例如,要使用从 Web 客户端收到的消息中的第一个 <EncryptedKey> 元素:

     set refopt=$$$SOAPWSReferenceEncryptedKeySHA1
     set dkenc=##class(%SOAP.WSSC.DerivedKeyToken).Create(,refopt)
    

    相关文章

      网友评论

          本文标题:第三十一章 使用派生密钥令牌进行加密和签名 - 变体:创建隐式

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