第五十二章 安全元素的详细信息 - EncryptedData 详情

文章目录

  • [第五十二章 安全元素的详细信息 - <EncryptedData> 详情](#第五十二章 安全元素的详细信息 - <EncryptedData> 详情)
  • 详情
  • 消息中的位置

第五十二章 安全元素的详细信息 - 详情

<EncryptedData> 的作用是携带加密数据,部分示例如下:

xml 复制代码
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" 
               Id="Enc-143BBBAA-B75D-49EB-86AC-B414D818109F" 
               Type="http://www.w3.org/2001/04/xmlenc#Content">
   <EncryptionMethod Algorithm="[parts omitted]#aes128-cbc"></EncryptionMethod>
   <CipherData>
      <CipherValue>MLwR6hvKE0gon[parts omitted]8njiQ==</CipherValue>
   </CipherData>
</EncryptedData>

详情

该元素的各部分如下:

  • Id 是元素的唯一标识符。 IRIS 会自动生成此标识符。
  • <EncryptionMethod> 表示用于加密该数据的算法。
  • <CipherData>携带加密数据,作为 <CipherValue>元素中的值。在此示例中,值 MLwR6hvKE0gon[parts divided]8njiQ== 为加密数据。
  • (未包含在示例中 <KeyInfo> 标识对称密钥。在本例中, <KeyInfo> 包含一个 <SecurityTokenReference> 元素,该元素包含对对称密钥的引用,其形式如下:
    • WS-Security 标头中先前的 <DerivedKeyToken> 的引用。
    • 对隐含的 <DerivedKeyToken>的引用。例如:
xml 复制代码
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
   <SecurityTokenReference xmlns="[parts omitted]oasis-200401-wss-wssecurity-secext-1.0.xsd" 
                 s01:Nonce="mMDk0zn8V7WTsFaIjUJ7zg==" 
                 xmlns:s01="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512">
      <Reference URI="#Id-93F97220-568E-47FC-B3E1-A2CF3F70B29B"></Reference>
   </SecurityTokenReference>
</KeyInfo>

在这种情况下,<Reference> 中的 URI 属性指向用于生成 <DerivedKeyToken><EncryptedKey> 元素,而 Nonce 属性指示所使用的 nonce 值。

在这两种情况下,这个派生密钥都用于加密此 <EncryptedData> 元素中携带的数据。

如果加密使用顶级 <ReferenceList> 元素,则会包含 <KeyInfo> 元素;请参阅 <ReferenceList>

消息中的位置

在 <Security> 中,应在关联的 <EncryptedKey> 之后包含一个 <EncryptedData> 元素。

<EncryptedData> 元素也可以是 SOAP 主体(<Body> 元素)的子元素。

相关推荐
long31616 分钟前
java 工厂方法设计模式 FactoryMethod
java·开发语言·后端·设计模式
思通数据2 小时前
AI视频监控:重构安防行业智能化新生态
人工智能·安全·目标检测·机器学习·计算机视觉·重构·数据挖掘
宇寒风暖2 小时前
@(AJAX)
前端·javascript·笔记·学习·ajax
萤丰信息2 小时前
智慧工地从工具叠加到全要素重构的核心引擎
java·大数据·人工智能·重构·智慧城市·智慧工地
BillKu4 小时前
Spring Boot 3中JWT密钥安全存储方案
spring boot·后端·安全
找不到、了4 小时前
Java设计模式之《原型模式》--深、浅copy
java·设计模式·原型模式
程序员岳焱6 小时前
Java 调用 Python 脚本:实现 HelloWorld
java·后端·python
etcix7 小时前
wrap cpp variant as dll for c to use
java·c语言·开发语言
Giser探索家7 小时前
低空智航平台技术架构深度解析:如何用AI +空域网格破解黑飞与安全管控难题
大数据·服务器·前端·数据库·人工智能·安全·架构
Jewel Q7 小时前
终端安全检测和防御技术
安全