美文网首页收藏
第三十二章 使用派生密钥令牌进行加密和签名 - 使用 Deriv

第三十二章 使用派生密钥令牌进行加密和签名 - 使用 Deriv

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

第三十二章 使用派生密钥令牌进行加密和签名 - 使用 <DerivedKeyToken>

进行加密

要使用 <DerivedKeyToken> 进行加密,请使用以下步骤:

  1. 如果要加密一个或多个安全标头元素,请创建这些安全标头元素。.
  2. 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。

请注意,此步骤还会创建并添加 <EncryptedKey> 所基于的 <EncryptedKey> 元素。

  1. 对于要加密的每个元素,请根据该元素创建一个 <EncryptedData> 元素。为此,请调用 %XML.Security.EncryptedDataCreate() 类方法。在此过程中,请指定以下参数:

a. 派生密钥令牌
b. 要加密的项目。省略此参数可加密正文。
c. 指定 <EncryptedData> 元素如何引用 <DerivedKeyToken> 的宏。在此场景中,当前唯一支持的值是 $$$SOAPWSReferenceDerivedKey

例如,加密 <UsernameToken>

 set refopt=$$$SOAPWSReferenceDerivedKey
 set encryptedData=##class(%XML.Security.EncryptedData).Create(dkenc,userToken,refopt) 

或者,加密正文:

 set refopt=$$$SOAPWSReferenceDerivedKey
 set encryptedData=##class(%XML.Security.EncryptedData).Create(dkenc,,refopt) 
  1. 创建 <ReferenceList> 元素。为此,在类中调用 %XML.Security.ReferenceList%New() 方法。例如:
 set reflist=##class(%XML.Security.ReferenceList).%New() 
  1. 在这个<ReferenceList>中,创建一个指向<EncryptedData>元素的<ReferenceList>。为此,对每个<EncryptedData>执行以下操作:

a. 调用 %XML.Security.DataReferenceCreate() 类方法,并指定加密数据实例作为参数。此方法返回 %XML.Security.DataReference的实例。

b. 调用引用列表实例的 AddReference() 方法并指定数据引用实例作为参数。

 set dataref=##class(%XML.Security.DataReference).Create(encdata)
 do reflist.AddReference(dataref)
 set dataref2=##class(%XML.Security.DataReference).Create(encdata2)
 do reflist.AddReference(dataref2)
  1. <ReferenceList> 元素添加到 WS-Security 标头元素。为此,请调用 Web 客户端或 Web 服务的 SecurityOut 属性的 AddSecurityElement() 方法。对于要添加的元素,请指定您的引用列表实例。
 do ..SecurityOut.AddSecurityElement(reflist)

相关文章

  • 加密算法概览

    1.对称加密 加密方和解密方使用同一套密钥。即:发送方通过使用相应的加密算法和密钥,对将要发送的信息进行加密;对接...

  • 2018-04-16

    HTTPS加密方式: HTTPs采用混合加密机制,使用公钥加密用于传输对称加密,之后使用对称密钥加密进行通信。...

  • 数字签名及证书

    1. 加密: 对称加密:用对称密钥及算法进行加密。对称密钥,加解密使用相同的密钥。 非对称加密:用非对称密钥及算法...

  • 算法和数据结构5.4共享密钥加密

    加密数据的方法可以分为两种,加密和解密都使用相同密钥的“共享密钥加密”和分别使用不同密钥的“公开密钥加密”。 共享...

  • 信息安全基础知识

    加密技术分为对称加密和非对称加密,区别在于加密和解密是否使用相同的密钥。对称加密使用相同的密钥,非对称加密的密钥则...

  • 安卓系统签名修改

    1.安卓签名和密钥 Android OS 映像在两个地方使用加密签名: 映像中的所有 .apk 文件都必须经过签名...

  • 密码学基础(五):证书体系

    摘要算法 略 对称加密 略 非对称加密 略 数字签名 使用摘要算法对原文进行签名后使用rsa的私钥对摘要进行加密。...

  • 深入浅出:区块链技术中的非对称加密算法--签名和加密

    签名是一种非对称加密算法的用法,即使用不同的加密密钥与解密密钥,而由已知加密密钥推导出解密密钥在计算上是不可行的。...

  • 对称加密与非对称加密

    加密 对称加密 对称双方使用同一个密钥,使用加密算法配上合适的密钥来加密,解密时使用加密过程的完全逆过程配合密钥来...

  • 3DES加密

    本文介绍了3DES加密特性,加密特点,3DES是对称加密,用一个密钥对内容进行加密,必须使用相同的密钥进行解密, ...

网友评论

    本文标题:第三十二章 使用派生密钥令牌进行加密和签名 - 使用 Deriv

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