第十七章 手动添加安全元素

server/2024/10/18 3:28:36/

文章目录

  • 第十七章 手动添加安全元素
  • 添加安全标头元素
  • 标题元素的顺序

第十七章 手动添加安全元素

本主题主要介绍如何手动向 IRIS Web 服务和 IRIS Web 客户端发送的消息中添加安全元素。

以下主题提供了有关特定安全任务的详细信息。

添加安全标头元素

要将安全元素添加到 WS-Security 标头元素,请在 Web 客户端或 Web 服务中使用以下常规过程:

  1. 创建适用类的实例。为此,可以使用名为 Create()CreateX509() 的方法(具体取决于类)。该实例表示 WS-Security 标头元素之一,例如 <Username> or <EncryptedKey>
  2. 通过更新 Web 客户端或 Web 服务的 SecurityOut 属性,将每个实例添加到 WS-Security 标头元素。为此,请调用 AddSecurityElement() 方法。
  3. 发送 SOAP 消息。WS-Security 标头包含在消息中,并包含添加到其中的元素。
  4. 对于后续传出消息:
  • 对于 Web 客户端,SecurityOut 属性保持不变,以便此实例的后续出站消息包含添加的安全标头。如果不希望这样,请将 SecurityOut 属性设置为 null
  • 对于 Web 服务,在第一个出站 SOAP 消息之后,SecurityOut属性会自动设置为null`。

标题元素的顺序

当将多个安全元素添加到标头时,按适当的顺序添加安全标头元素非常重要。当对同一消息元素执行加密和签名时,这一点尤其重要:即按执行加密和签名操作的相同顺序添加它们。

标头元素的顺序指示了消息处理的顺序。WS-Security 1.1 规范规定如下:

当元素添加到 <wsse:Security> 标头块时,它们应该被添加到现有元素的前面。因此,<wsse:Security> 标头块表示消息生产者创建消息所采取的签名和加密步骤。此前置规则确保接收应用程序可以按照子元素在<wsse:Security> 标头块中出现的顺序处理子元素,因为子元素之间不存在前向依赖关系。

当添加标题元素时, IRIS 会将每个元素添加到先前添加的元素之前,但以下情况除外:

  • 如果包含 <Timestamp> 元素,则强制将其作为第一个。
  • 如果包含任何 <BinarySecurityToken> 元素,它们将被强制遵循 <Timestamp> 元素(如果包含)或被强制放在第一个。
  • 当使用 AddSecurityElement() 添加安全标头元素的加密版本时,可以指定第二个参数来强制插入的 <EncryptedData> 元素遵循关联的 <EncryptedKey>

当对同一消息元素执行加密和签名时,按适当的顺序添加安全标头元素尤为重要:即,按照执行加密和签名操作的相同顺序添加它们。


http://www.ppmy.cn/server/116965.html

相关文章

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储&#xff0c;载入镜像和删除镜像 1.4 Doecker…

10分钟在网站上增加一个AI助手

只需 10 分钟&#xff0c;为您的网站添加一个 AI 助手&#xff0c;以便全天候&#xff08;7x24&#xff09;回应客户咨询&#xff0c;提升用户体验、增强业务竞争力。 方案概览 在网站中引入一个 AI 助手&#xff0c;只需 4 步&#xff1a; 创建大模型问答应用&#xff1a;我们…

工作流技术(WorkFlow)

什么是工作流 1.使用编程语言完成一套固定的审批流程 例如请假审批流程 订单配送流程 入职&#xff0c;辞职审批流程 2.使用场景 业务类&#xff1a;合同审批流程、订单处理流程、出入库审批流程等。 行政类&#xff1a;请假流程、出差流程、用车流程、办公用品申请流程…

BC172 牛牛的排列数(c 语言)

1.我们先输入n m的数字&#xff0c;因为n!/(n-m)!的阶乘。即4&#xff01;4*3*2*1&#xff0c;2&#xff01;2*1&#xff0c;4&#xff01;/2&#xff01;12.或者4&#xff01;4*3*2&#xff01;。 #include<sdtio.h> int main() {int n 0;int m 0;long long a 1;whi…

How can I load the openai api configuration through js in html?

题意&#xff1a;怎样在HTML中通过JavaScript加载OpenAI API配置 问题背景&#xff1a; I am trying to send a request through js in my html so that openai analyzes it and sends a response, but if in the js I put the following: 我正在尝试通过HTML中的JavaScript发…

​睿​联​一​面​

1. 请尽可能详细地说明&#xff0c;ES6之后有哪些新特性&#xff1f;按照最近出现时间的顺序列举。你的回答中不要写出示例代码。 自ES6&#xff08;ECMAScript 2015&#xff09;发布以来&#xff0c;JavaScript 引入了许多新特性。以下是按时间顺序列出的一些主要新特性&…

鼎捷新一代PLM 荣膺维科杯 “2023年度行业优秀产品奖”

近日&#xff0c;由中国高科技行业门户OFweek维科网主办的“全数会2024&#xff08;第五届&#xff09;中国智能制造数字化转型大会暨维科杯工业自动化及数字化行业年度评选颁奖典礼”在深圳隆重举办。这不仅是中国工业自动化及数字化行业的一大品牌盛会&#xff0c;亦是高科技…

IOS Siri和快捷指令打开app

使用场景 需要Siri打开应用或者在自定义快捷指令打开应用&#xff0c;并携带内容进入应用。 1.创建Intents文件 1.1 依次点开File->New->File 1.2 搜索intent关键字找到 SiriKit Intent Definition File文件 1.3 找到刚才创建的Intent文件&#xff0c;点击然后New Inte…