文章 姚 鑫 · 十月 14 阅读大约需 2 分钟 第四十七章 创建和添加 SAML 令牌 - SubjectConfirmation与 EncryptedKey 第四十七章 创建和添加 SAML 令牌 - 与 <SubjectConfirmation>与 <EncryptedKey> 要添加带有 <SubjectConfirmationData>(其中包含 <EncryptedKey> 元素)的 <SubjectConfirmation>,请执行以下操作: 按照以编程方式检索凭证集中所述,创建 %SYS.X509Credentials 的实例。 或者使用与签署断言时使用的相同凭证集。 #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 九月 24 阅读大约需 2 分钟 第三十二章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken 进行加密 第三十二章 使用派生密钥令牌进行加密和签名 - 使用 进行加密 要使用 <DerivedKeyToken> 进行加密,请使用以下步骤: 如果要加密一个或多个安全标头元素,请创建这些安全标头元素。. 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。 请注意,此步骤还会创建并添加 <EncryptedKey> 所基于的 <EncryptedKey> 元素。 #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十月 30 阅读大约需 2 分钟 第六章 主设备、当前设备、空设备 第六章 主设备、当前设备、空设备 明确使用主设备 USE 0或USE $principal向进程的主体设备隐式发出OPEN命令。如果另一个进程拥有该设备,则该进程会挂在隐式OPEN上,就像它遇到任何OPEN时一样。 为该进程不拥有的任何其他设备(由于先前的OPEN命令)发出USE命令会产生错误。 仅当进程获取设备时,没有超时的OPEN命令才将控制权返回给进程。可以通过键盘中断命令(如Ctrl-C )中断打开命令。由于保护问题或无效设备名称而无法成功的OPEN将永远挂起。当在OPEN命令中指定超时时, OPEN将在超时到期时将控制权返回给进程。 使用主设备的选项 根据主要设备的性质,可以指定其他特定于设备的参数,这些参数对于管道(进程间通信) 、文件和终端 I/O是不同的。例如,可以使用 TLS 连接打开主设备: #InterSystems IRIS for Health 1 0 0 16
文章 姚 鑫 · 十月 15 阅读大约需 2 分钟 第四十八章 解决安全问题 第四十八章 解决安全问题 本主题提供信息来帮助识别 IRIS 中 SOAP 安全问题的原因。 有关与安全无关的问题的信息,请参阅 IRIS 中的 SOAP 问题故障排除。 故障排除所需的信息 要解决 SOAP 问题,通常需要以下信息: #InterSystems IRIS for Health 1 0 0 16
文章 姚 鑫 · 九月 26 阅读大约需 2 分钟 第三十四章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken 进行签名 第三十四章 使用派生密钥令牌进行加密和签名 - 使用 进行签名 要使用 <DerivedKeyToken>进行签名,请使用以下步骤: 如果想要签署任何安全标头元素,请创建这些安全标头元素。 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。 请注意,此步骤还会创建并添加 <DerivedKeyToken> 所基于的 <EncryptedKey> 元素。 #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 九月 9 阅读大约需 2 分钟 第十七章 手动添加安全元素 第十七章 手动添加安全元素 本主题主要介绍如何手动向 IRIS Web 服务和 IRIS Web 客户端发送的消息中添加安全元素。 以下主题提供了有关特定安全任务的详细信息。 添加安全标头元素 要将安全元素添加到 WS-Security 标头元素,请在 Web 客户端或 Web 服务中使用以下常规过程: #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 九月 5 阅读大约需 1 分钟 第十六章 WS-Policy 配置类详细信息 - 自定义配置示例 第十六章 WS-Policy 配置类详细信息 - 自定义配置示例 自定义配置示例 本节提供了一些自定义配置类的示例。 策略备选配置 以下配置类包括两种策略选择:使用 WS-Addressing 标头或不使用。 #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 十一月 20 阅读大约需 3 分钟 第二十七章 TCP 客户端 服务器通信 - 连接管理 第二十七章 TCP 客户端 服务器通信 - 连接管理 连接管理 服务器一次只维护一个连接。如果第二个客户端在另一个连接打开时尝试连接,则 TCP/IP 将该客户端放入队列中。在队列中时,第二个客户端可以像已连接一样写入端口。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接。 如果第二个客户端在连接存在之前发出 READ,它就会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。 如果已经打开 TCP 设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个 OPEN 命令会导致<COMMAND> 错误。将这种情况视为错误而不是 USE 命令可以防止出现意外结果。如果一个错误的程序认为它打开了一个新连接,而实际上它正在重用一个可能具有不同目标或不同参数的现有连接,则可能会出现这种意想不到的结果。 #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十一月 17 阅读大约需 3 分钟 第二十四章 TCP 客户端 服务器通信 - 当前 TCP 设备 第二十四章 TCP 客户端 服务器通信 - 当前 TCP 设备 当前 TCP 设备 可以使用 %SYSTEM.TCPDevice方法返回当前 TCP 设备的 IP 地址和端口号。可以使用 Help() 方法列出这些方法,如下所示: DO $SYSTEM.TCPDevice.Help() 可以通过在 Help() 中指定方法名称来显示有关特定方法的信息,如以下示例所示: #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十月 22 阅读大约需 1 分钟 第五十三章 安全元素的详细信息 - Signature 详情 第五十三章 安全元素的详细信息 - 详情 <Signature>的目的是携带可由消息接收者验证的数字签名。可以使用数字签名来检测消息更改,或者只是验证消息的某个部分是否确实由列出的实体生成。与传统的手写签名一样,数字签名是对文档的附加,只能由文档的创建者创建,并且不易伪造。 以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十月 11 阅读大约需 2 分钟 第四十五章 创建和添加 SAML 令牌 - 变体:不使用 BinarySecurityToken 第四十五章 创建和添加 SAML 令牌 - 变体:不使用 变体:不使用 <BinarySecurityToken> <BinarySecurityToken> 包含序列化、base-64 编码格式的证书。可以忽略此令牌,而改用标识证书的信息;接收方使用此信息从相应位置检索证书。为此,请使用上述步骤,并进行以下更改: #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十月 8 阅读大约需 2 分钟 第四十二章 使用 WS-ReliableMessaging 第四十二章 使用 WS-ReliableMessaging IRIS 支持 WS-ReliableMessaging 规范的部分内容,如简介中所述。此规范提供了一种按顺序可靠地传递一系列消息的机制。本页介绍如何手动使用可靠消息传递。 从 Web 客户端发送一系列消息 要将一系列消息从 IRIS Web 客户端可靠地发送到支持 WS-ReliableMessaging 的 Web 服务,请执行以下操作: 根据需要指定 Web 客户端的安全标头元素。 如果正在使用 WS-SecureConversation,请启动安全对话。 调用 %SOAP.RM.CreateSequence的 Create() 类方法。这将返回该类的一个实例。 此方法具有以下签名: #InterSystems IRIS for Health 1 0 0 15
文章 姚 鑫 · 十一月 11 阅读大约需 4 分钟 第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数 第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数 Supported 参数 parameters 参数可以是以下格式之一: hostname (hostname{:port{:mode{:terminators{:ibufsiz{:obufsiz{:queuesize{:keepalivetime}}}}}}}) parameters 参数中的参数如下: #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 10 阅读大约需 3 分钟 第十七章 TCP 客户端 服务器通信 - 使用OPEN命令 第十七章 TCP 客户端 服务器通信 - 使用OPEN命令 使用OPEN命令 OPEN命令保留一个TCP绑定设备供使用。其语法为: #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 8 阅读大约需 4 分钟 第十五章 IRIS 进程之间的通信 第十五章 IRIS 进程之间的通信 本页介绍如何在两个或多个 IRIS 数据平台进程之间建立通信。 介绍 作业间通信 (IJC) 设备是一组特殊设备编号,可让在两个或多个 IRIS 进程之间传输信息。这些流程可以是作业流程或交互式流程。 IJC 设备成对工作。最多可以有 256 个 IJC 设备对。使用称为接收器的偶数设备来读取数据。使用称为发送器的奇数设备来写入数据。尝试从发送器读取或写入接收器会导致 <NODEV> 错误。 可以向 IJC 设备发出 I/O 命令,就像向任何其他设备一样。向设备发出OPEN和USE命令后,进程可以发出: 向接收器设备读取命令 将命令写入发送器设备 一次只能有一个进程可以打开设备。 对基于 IRIS 设备表中映射的相对顺序,可以使用管理门户的配置选项查看和编辑该表。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 6 阅读大约需 2 分钟 第十三章 本地进程间通信(管道) - 用于进程间通信的 READ 命令 第十三章 本地进程间通信(管道) - 用于进程间通信的 READ 命令 用于进程间通信的 READ 命令 语法 READ:pc readargument,... READ 从管道读取数据。 其中reargument可以是: formatting-mode string variable:timeout *variable:timeout variable#n:timeout 将 I格式化模式参数与管道一起使用。 I 参数允许对命名管道发出定时READ,而不会丢失跟随在一个部分记录中的任何数据。错误。当在READ上使用此参数时, READ会忽略消息。 默认情况下,I格式化模式的值处于关闭状态。如果在没有超时的情况下在READ命令中包含此参数,则进程将挂起,直到有数据要处理。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十月 29 阅读大约需 2 分钟 第五章 主设备、当前设备、空设备 第五章 主设备、当前设备、空设备 一个进程拥有一台设备 一次只有一个进程可以拥有一个设备,顺序文件除外。 换句话说,在进程成功向设备发出OPEN命令后,在第一个进程释放该设备之前,其他进程都无法打开该设备。进程通过以下任一方式释放设备: 通过显式发出CLOSE命令。 通过停下来。 每个进程都有一个主设备 每个 IRIS 进程都有一个主要输入设备和一个主要输出设备。默认情况下,这些是同一设备。当您登录终端并激活 IRIS 时,该终端将成为主要设备。由于 IRIS 隐式向该终端发出OPEN和USE命令,因此可以立即向它发出READ和WRITE命令。 IRIS 主设备是操作系统指定为主输入设备的设备。 $PRINCIPAL特殊变量包含主设备的设备 ID。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 15 阅读大约需 7 分钟 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 TCP设备的OPEN和USE命令关键字 可以使用位置参数(如上所述)或关键字参数。下表描述了使用OPEN和USE命令控制TCP设备的关键字。还有其他只能在OPEN命令中指定的OPEN-only关键字(本章稍后将描述)。所有关键字参数都是可选的。 #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十一月 13 阅读大约需 3 分钟 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式) 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式) 立即发送模式(Q 模式) 在立即发送模式下,每个 WRITE 命令都作为其自己的数据包输出。如果不使用立即发送模式,则必须包括终止符或发出命令 WRITE *–3 以输出数据包。 通过指定“Q”模式字符或/SENDIMMEDIATE(或/SEN)关键字参数进入此模式。要关闭此选项,请指定以下任一选项: USE TCPDEVICE:(/SEN=0) USE TCPDEVICE:(::"-Q") 要重新打开此选项,请指定以下任一选项: #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十一月 7 阅读大约需 3 分钟 第十四章 本地进程间通信(管道) - 用于进程间通信的 CLOSE 命令 第十四章 本地进程间通信(管道) - 用于进程间通信的 CLOSE 命令 用于进程间通信的 CLOSE 命令 如果使用带Q (/QUEUE) 参数代码的OPEN创建子进程,则该子进程可能会在设备上的CLOSE操作中继续存在。排队的进程间通信管道的生存能力取决于平台。在 UNIX® 系统上,子进程始终在CLOSE后继续存在。在 Windows 系统上,进程的生存取决于进程的年龄。刚刚启动的子进程不会在CLOSE操作中幸存,但是一旦子进程完全建立,它就会在 CLOSE操作中幸存。 #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十一月 4 阅读大约需 3 分钟 第十一章 本地进程间通信(管道) - OPEN 命令管道示例 第十一章 本地进程间通信(管道) - OPEN 命令管道示例 OPEN 命令管道示例 以下是有效的命令管道OPEN语句。每个示例指定 10 秒的超时: #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十月 31 阅读大约需 2 分钟 第七章 在 I O 命令中指定设备 第七章 在 I/O 命令中指定设备 当使用 I/O 命令OPEN 、 USE和CLOSE在除正在使用的设备之外的任何设备上处理 I/O 时,必须指定一个 I/O 设备。可以根据设备类型以三种方式之一指定设备,如下表所示。 #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十月 23 阅读大约需 1 分钟 第五十四章 安全元素的详细信息 - DerivedKeyToken 详情 第五十四章 安全元素的详细信息 - 详情 <DerivedKeyToken> 的目的是携带发送者和接收者可以独立使用的信息来生成相同的对称密钥。这些方可以使用该对称密钥对 SOAP 消息的相关部分进行加密、解密、签名和签名验证。 以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十月 7 阅读大约需 2 分钟 第四十一章 创建安全对话 - 使用 SecurityContextToken 第四十一章 创建安全对话 - 使用 在 Web 服务使用 <SecurityContextToken>, 做出响应后,客户端实例和服务实例可以访问相同的对称密钥。有关此密钥的信息包含在两个实例的 SecurityContextToken 属性中。建议的程序如下: 在客户端中,将 SecurityOut 属性设置为 null,以删除请求消息中使用的安全标头。 在 Web 服务中不需要这样做,因为 Web 服务会在每次调用后自动清除安全标头。 #InterSystems IRIS for Health 1 0 0 13
文章 姚 鑫 · 九月 25 阅读大约需 1 分钟 第三十三章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken _进行加密(一) 第三十三章 使用派生密钥令牌进行加密和签名 - 使用 进行加密(一) 如果加密了任何安全标头元素,请将它们添加到 WS-Security 标头元素中。为此,请调用 Web 客户端或 Web 服务的SecurityOut 属性的 AddSecurityElement() 方法。在这种情况下,需要两个参数: a. 安全标头元素(而不是从中生成的的 %XML.Security.EncryptedData)。 b. 引用列表实例。第二个参数指定将第一个参数指定的项目放在何处。如果参数是 A、B,则 IRIS 确保 A 在 B 之后。指定此项以便收件人首先处理引用列表,然后再处理依赖于它的加密安全标头元素。 #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十一月 2 阅读大约需 2 分钟 第九章 本地进程间通信(管道) 第九章 本地进程间通信(管道) 本页介绍如何通过管道与 IRIS® 数据平台外部的进程建立通信。 介绍 可以通过管道在 IRIS 进程和外部 UNIX® 或 Windows 进程之间进行通信,就像在 UNIX® 或 Windows 操作系统级别一样。可以将输出发送到管道或从管道接收输入。管道为单向;不能同时读取和写入同一个程序。 当打开另一个程序的管道进行输出时,可以像写入顺序文件一样对其进行写入。然后程序使用编写的内容作为其输入流。当希望 IRIS 进程与外部进程共享资源时,此功能特别有用。 打开 IRIS 实用程序的管道 可以打开通往 IRIS 实用程序以及 UNIX® 或 Windows 进程的管道。在将管道用于实用程序 I/O 之前,系统管理员必须在 IRIS 系统上定义管道设备。 #InterSystems IRIS for Health 0 0 0 12
文章 姚 鑫 · 十月 20 阅读大约需 2 分钟 第五十一章 安全元素的详细信息 - EncryptedKey 详情 第五十一章 安全元素的详细信息 - 详情 详情 该元素的各部分如下: <EncryptionMethod> 表示用于加密对称密钥的算法。 在 IRIS 中,可以指定密钥传输算法(由 <EncryptionMethod> 的 Algorithm 属性显示)。请参阅指定密钥传输算法。 #InterSystems IRIS for Health 0 0 0 12
文章 姚 鑫 · 十月 16 阅读大约需 1 分钟 第四十九章 解决安全问题 - 可能出现的错误 第四十九章 解决安全问题 - 可能出现的错误 可能出现的错误 本节讨论 IRIS Web 服务和 Web 客户端中可能出现的与安全相关的错误: 如果刚刚生成了 IRIS Web 服务或客户端,则可能尚未配置为识别 WS-Security 标头。在这种情况下,当您尝试执行 Web 方法时,会收到如下一般错误: <ZSOAP>zInvokeClient+269^%SOAP.WebClient.1 将以下内容添加到Web服务或客户端并重新编译: Parameter SECURITYIN="REQUIRE"; 这种一般错误也可能是由于错误地调用 Web 方法(例如,在 Web 方法没有返回值时引用返回值)造成的。 如果使用 WS-Policy,则此项不适用。 #InterSystems IRIS for Health 1 0 0 12
文章 姚 鑫 · 十一月 25 阅读大约需 3 分钟 第三十二章 UDP 客户端 服务器通信 第三十二章 UDP 客户端 服务器通信 本页介绍如何使用 UDP 在进程之间建立远程通信。 介绍 通过%Net.UDP来支持 UDP。此类提供以下方法: Send()数据包到指定的目的地和端口、 Recv()来自套接字的数据包以及Reply()发送器最后收到的数据包。 目标被标识为本地主机名或者 IPv4 或 IPv6 主机地址。该端口可以是指定的端口号或动态端口分配。 建立UDP套接字 要使用 UDP,必须使用%New()方法来创建 UDP 套接字对象。然后,该对象实例用于发送、接收和回复数据包传输。 创建 UDP 套接字对象时,可以指定端口号和主机地址,如下例所示: #InterSystems IRIS for Health 0 0 0 11
文章 姚 鑫 · 十一月 21 阅读大约需 2 分钟 第二十八章 TCP 客户端 服务器通信 - JOB命令示例 第二十八章 TCP 客户端 服务器通信 - JOB命令示例 JOB命令示例 以下示例显示了一个非常简单的并发服务器,只要它检测到来自客户端的连接,就会产生一个子作业。 JOB指定一个并发服务器位开关值(值16)并通过符号表(值1):16+1=17。 #InterSystems IRIS for Health 1 0 0 11