第二十三章 TCP 客户端 服务器通信 - SSL TLS组件

文章目录

  • 第二十三章 TCP 客户端 服务器通信 - SSL TLS组件
    • `SSL / TLS`组件
  • `TCP` 设备的 `OPEN-Only` 命令关键字
        • `TCP` 设备的` OPEN-only` 命令关键字

第二十三章 TCP 客户端 服务器通信 - SSL TLS组件

SSL / TLS组件

TCP设备的OPENUSE /SSL或/TLS关键字参数的值为带引号的字符串。这个字符串可以有一个、两个或三个组件,由’|'字符分隔:

  • cfg - 用于此连接的SSL配置的名称。该组件是必需的。

  • pw - 可选 — 本地私钥文件的密码。这仅适用于交互式应用程序,当提示用户在运行时输入密码时。它不应与永久存储的密码一起使用。使用 Security.SSLConfigs.PrivateKeyPassword 属性进行持久存储。

  • DNShost - 可选 — 仅适用于 SSL 客户端。指定服务器选择的证书(用于主机名验证)或特定服务器的完全限定 DNS 主机名(用于服务器名称指示)。如果省略 pw,则必须指定占位符“|”特点。

    主机名验证是一项功能,允许客户端检查它从服务器接收的证书是否包含带有客户端尝试连接的主机名的字段。这是供客户端应用程序使用的,例如 %Net.HttpRequest(),它想要验证服务器 X.509 证书是否包含与 URL 中的服务器名称匹配的完全合格的服务器 DNS 主机名,无论是在 subjectAltName 扩展名还是主题 CN 字段。这允许客户端检测中间人攻击使用错误域的有效证书的情况。

    服务器名称指示 (SNI) 是一项允许客户端向服务器提交其请求的主机名的功能。这允许处理多个域的服务器选择其多个证书之一返回。服务器可以选择一个匹配客户端主机名检查的。

以下是有效 /TLS 关键字参数的示例:

/TLS="Client"
/TLS="Client|password"
/TLS="Client||www.intersystems.com"
/TLS="Client|password|www.intersystems.com" 

TCP 设备的 OPEN-Only 命令关键字

下表描述了只能在 OPEN 命令中指定的用于控制 TCP 设备的关键字。还有一些额外的 OPEN/USE 关键字(在本章前面描述过)可以用 OPENUSE 命令指定。所有关键字参数都是可选的。

TCP 设备的 OPEN-only 命令关键字
KeywordDefaultDescription
/BINDTO[=address]绑定到启动连接时使用的指定本地地址。对于客户端,这是从 IRIS 打开 TCP/IP 连接时使用的源地址。对于服务器,这是 IRIS 进程在打开 TCP/IP 连接时接受连接的 IP 地址。 /BINDTO=address 用于控制连接将使用哪个网络接口。 /BINDTO/BINDTO=”“ 删除以前指定的地址。如果指定的地址不存在,则 OPEN 命令将超时。
/CLOSELISTEN(仅限服务器)防止多个远程连接到侦听端口。如果指定,则在接受第一个连接后关闭侦听套接字。尝试连接的其他客户端将在 OPEN 命令上超时。
/CONNECTIONS=n or /CON=n5对应于 queuesize 位置参数,它确定有多少客户端作业可以排队等待与服务器的连接。
/HOSTNAME=str or /HOS=str无默认对应于 hostname 位置参数,它可以是 IP 主机的名称,也可以是 IPv4IPv6 地址格式的 IP 地址。可以使用 /USEIPV6 关键字来指定要使用的协议。
/IBUFSIZE=n or /IBU[=n]1024对应于 ibufsiz 位置参数,它指定 TCP 输入缓冲区的大小,该缓冲区保存从网络读取但尚未交付给应用程序的数据。
/OBUFSIZE=n or /OBU[=n]1024对应于 obufsiz 位置参数,它指定 TCP 输出缓冲区的大小,该缓冲区包含在连续“SEND”操作之间保存的数据。
/PORT=n无默认对应于端口位置参数,它是用于连接的 TCP 端口号或服务名称。
/SOCKET=n or /SOC=n无默认对应于“G”模式参数字符,这导致端口位置参数被解释为已打开数据套接字的套接字描述符。此关键字将套接字描述符作为其值,并用于代替 /PORT=n 关键字。 (使用 IRIS 调用或调用机制,将套接字描述符从另一个编程环境(例如 C)传递到 ObjectScript。)
/USEIPV6无默认如果指定 /USEIPV6/USEIPV6=1,则对入站和出站连接使用 IPv6 地址,覆盖 IPV6 系统开关。如果指定 /USEIPV6=0,则对入站和出站连接使用 IPv4 地址,覆盖 IPv6 系统开关。
如果未指定 /USEIPV6,则 IPV6 系统开关控制行为。使用 IPV6 系统开关设置,出站连接首先尝试连接 IPv4 地址;如果失败,它会尝试连接 IPv6 地址。对于入站连接,TCP 设备会同时侦听 IPv4IPv6 连接。在未设置 IPV6 的情况下,只有 IPv4 地址用于入站和出站连接。

以下示例显示了使用关键字语法打开的 TCP/IP 设备:

  SET dev="|TCP|"_123SET portnum=57345OPEN dev:(/PSTE:/HOSTNAME="128.41.0.73":/PORT=portnum)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18127.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

容器运行时 AND Docker

容器运行时 and Docker 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术…

基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络

一、介绍 垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集(‘塑料’, ‘玻璃’, ‘纸张’, ‘纸板’, ‘金属’),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进…

Scala-数据类型-概述(Scala 3.x 类型层次结构)

Scala Scala-数据类型 Scala1. Any — 顶级类型2. Matchable — 匹配类型3. AnyVal — 值类型的父类4. AnyRef — 引用类型的父类5. Null - 引用类型的子类型Tips: 为什么 null 不推荐使用? 6. Nothing - 底层类型 (Bottom Type)整理不易,对您有帮助的话…

Linux:权限相关知识详解

1.shell命令以及运行原理 1.1初步理解认识shell Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell&…

React中常用的钩子

在当今,React的钩子写法已经逐渐成为了一种主流开发模式,本文将介绍几种在React中常用的钩子 useState 可以用来双向绑定,创建需要监听变化并且使用的数据 使用该钩子定义时,参数可以是一个直接定义好的变量,也可以是…

.NET SDK 各操作系统开发环境搭建

一、Win10(推荐) 1、VS 2022 社区版 # 下载地址 https://visualstudio.microsoft.com/zh-hans/downloads/ 2、.NET 6 SDK # 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 3、Hello World 如果需要使用旧程序样式时,则…

Linux 下网络套接字(Socket) 与udp和tcp 相关接口

文章目录 1. socket常见API2 sockaddr结构体及其子类1. sockaddr结构体定义(基类)2. 子类 sockaddr_in结构体用于(IPv4)3 子类 sockaddr_un(Unix域套接字)4. 总结画出其结构体 3.实现一个简单的tcp Echo 服务器和客户端(cpp)3.1 客户端3.2 服…

跨平台WPF框架Avalonia教程 七

数据绑定 Avalonia使用数据绑定将数据从应用程序对象传递到UI控件,根据用户输入更改应用程序对象中的数据,并在响应用户命令时对应用程序对象进行操作。 在这种安排中,控件是绑定目标,而对象是数据源。 Avalonia运行数据绑定系统…

日常ctf

1, [陇剑杯 2021]日志分析(问1) %2e 为URL编码的符号 "." flag{www.zip} 2, [陇剑杯 2021]日志分析(问2) 根据之前题目的分析,在获取到源码文件之后,黑客又成功访问了in…

基于微信小程序的校园助手+LW示例参考

1.项目介绍 项目角色:管理员、普通用户功能模块:管理员(用户管理、寻物启事管理、物品分类管理、表白广场、吐槽大会、二手交易、拼车出行等)、普通用户(登录注册、寻物启事、失物招领、表白广场、吐槽大会、拼车出行…

逆向攻防世界CTF系列38-xxxorrr

逆向攻防世界CTF系列38-xxxorrr 64位无壳,很自然的找到main和一个比较函数 以为逻辑很简单了 enc [0x56, 0x4E, 0x57, 0x58, 0x51, 0x51, 0x09, 0x46, 0x17, 0x46,0x54, 0x5A, 0x59, 0x59, 0x1F, 0x48, 0x32, 0x5B, 0x6B, 0x7C,0x75, 0x6E, 0x7E, 0x6E, 0x2F, 0…

数据结构-堆排序笔记

1 思路 总体思路 首先我们会拿到一个无序的数组,我们需要先对其构建成一个堆。下面我们示例将会构建成大顶堆。然后我们对顶堆的元素进行位置之间的交换。交换的同时继续对其维护大顶堆的性质,直至大顶堆只剩下一个元素。 具体思路 首先我们先将一个…

如何在react中使用react-monaco-editor渲染出一个编辑器

一、效果展示 二、基于vite配置 1.首先安装react-monaco-editor和monaco-editor包 npm add react-monaco-editor npm i monaco-editor 2.其次创建一个单独的文件(此处是tsx、直接用app或者jsx也行) import { useState, useEffect } from react impo…

跨平台WPF框架Avalonia教程 六

添加交互性 用户界面的一个基本功能是与用户进行交互。在Avalonia中,您可以通过使用事件和命令来为应用程序添加交互性。本指南将通过简单的示例介绍事件和命令。 处理事件​ Avalonia中的事件提供了一种响应用户交互和控件特定操作的方式。您可以按照以下步骤处…

【传知代码】VRT_ 关于视频修复的模型

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ VRT_ 关于视频修复的模型 背景介绍:重要性: VRT的重要性和研究背景VRT的背景:VRT的重要性: 视…

药界互联:中药实验管理的网络化

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了中药实验管理系统的开发全过程。通过分析中药实验管理系统管理的不足,创建了一个计算机管理中药实验管理系统的方案。文章介绍了中药实验管理系统的系…

【Linux】进程字段、环境变量与进程地址空间

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 丢掉幻想,准备斗争 目录 一、查看进程字段 1.字段说明 2.进程优先级 二、环境变量 1.概念 2.指令与PATH 3.环境变…

基于isSpring的PPT转换

背景 PPT课件目前还是一项在教学中高度频繁使用的工具,对于在线教学就更为重要了。如何把PPT转换为在线web,同时保留更多的PPT特性(动画、音效、视频)呢?这里介绍一种基于iSpring的PPT转换工具。用以解决在线PPT的这一…

【论文笔记】LoRA: Low-Rank Adaptation of Large Language Models

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: LoRA: Low-Rank Adaptatio…

RHCE的学习(21)

第三章 Shell条件测试 用途 为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符。 通过这些运算符,Shell程序能够判断某种或者几个条件是否成立。 条件测试在各种流程控制语句,例如判断语句和循环语句中…