这是 sslclient 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
sslclient - SSL 客户端
概要
客户端 [选项[1]][-咖啡馆 | --ca_cert_文件 文件名]
[-CAD | --ca_cert_dir 目录名]
[-ccf | --cert_chain_file 文件名]
[-C | --密码 密码串]
[[-dvp] | [--default_verify_paths] 密码串]
[-h | - 帮帮我[-kf | --密钥文件 文件名]
[-kft | --密钥文件类型 佩姆 | asn1]
[-p | -sp | [- 服务器端口] 端口号]
[-r | - 随机的 文件名]
[[-SM | --服务器匹配 正则表达式 ]...]
[-首席执行官 | --验证深度 深度]
[-vt | --验证类型 无 | 同行] [--] 服务器 [:端口 ]
商品描述
该程序是 DACS 套房。 它可以与通常的 DACS 命令行
选项(选项[1]), 提供 他们 所有 出现 before 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 程序特定的 标志 (注意
该 一 标志可用于抑制配置文件处理)。 客户端 is
也被使用 数据传输协议(1)[2] 命令和由内部生成的请求 DACS
组件。
- 客户端 实用程序充当 SSL 客户端。 建立双向 SSL 后
与 SSL 服务器连接,它将其标准输入转发到 SSL 服务器并写入
SSL服务器产生的数据 ssl客户端的 标准输出。
客户端 连接到 服务器 (域名或 IP 地址)。 如果端口号后缀是
给定(端口),它被使用; 否则,如果端口号被指定为单独的命令
行参数 (- 服务器端口 端口号),即使用; 否则, 默认 SSL 端口
HPMC胶囊 HTTPS (443)[3] 使用。
该程序从其标准输入和服务器异步读取(使用
非阻塞 I/O)。 请注意,服务器端可能需要在其输入中查看文件结尾
在其输出返回到 客户端.
该程序的底层 SSL 功能由 OpenSSL的[4]。
配置
客户端 识别这些选项:
-咖啡馆 文件名
--ca_cert_文件 文件名
这标识 文件名 作为 PEM 格式的 CA 证书文件。 这是
CA文件 论证 OpenSSL的[4] SSL_CTX_load_verify_locations()[5] 功能。 这是
像 mod_ssl的[6] SSLCAC证书文件[7] 指令,除了它用于
验证服务器的 SSL 证书。
-CAD 目录名
--ca_cert_dir 目录名
这标识 目录名 作为包含 PEM 格式的 CA 证书的目录,一个
每个文件的证书。 这是 路径 论证 OpenSSL的[4]
SSL_CTX_load_verify_locations()[5] 功能。 它类似于 mod_ssl的[6]
SSLCAC证书路径[8] 指令,除了它用于验证服务器的
证书。
-ccf 文件名
--cert_chain_file 文件名
这会导致从客户端证书链加载 文件名, 一个包含
PEM 格式的证书。 这是 文件 论证 OpenSSL的[4]
SSL_CTX_use_certificate_chain_file()[9] 功能。 它类似于 mod_ssl的[6]
SSLCAC证书链文件[10] 指令,除了它用于客户端的
链。
Tips:
如果要发送客户端证书,还必须指定 -kf 旗。
-C 密码串
--密码 密码串
这设置了要使用的密码列表 密码串。 这是 STR 争论
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 OpenSSL的[4] SSL_CTX_set_cipher_list()[11] 功能。 它类似于 mod_ssl的[6]
SSL密码套件[12] 指令。
-dvp
--default_verify_paths
这个标志告诉 客户端 使用默认位置查找 CA 证书。 它
结果调用 OpenSSL的[4] SSL_CTX_set_default_verify_paths() 功能。
-h
- 帮帮我
打印使用概要。
-kf 文件名
--密钥文件 文件名
这一套 ssl客户端的 中找到的第一个私钥的私钥 文件名。 这是
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 文件 论证 OpenSSL的[4] SSL_CTX_usePrivateKey_file() 功能。 默认的
私钥文件类型为 PEM。 如果密钥已经加密,程序会提示
对于密码。
-kft 类型
--密钥文件类型 类型
私钥文件类型设置为 类型, 必须是 pem 或 asn1 (case
不敏感)。 默认的私钥文件类型是 PEM。
-p 端口号
-sp 端口号
- 服务器端口 端口号
除非附加到 服务器 论据, 端口号 是要使用的端口号,覆盖
默认端口 (443)。
-r 文件名
- 随机的 文件名
PRNG 的种子材料是从 文件名。 这是 文件名 论证
OpenSSL的[4] RAND_load_file() 功能。
-SM 正则表达式
--服务器匹配 正则表达式
此参数可以重复,指定对服务器身份的约束
通过将服务器证书中的属性值与 正则表达式. 这些测试
在建立 SSL 连接后立即进行。 每个 正则表达式 是 IEEE 标准
1003.2 ("POSIX.2") 具有扩展表达式和不区分大小写的正则表达式
(REG_EXTENDED | REG_ICASE)。 看 如下。[13]为匹配算法。
-首席执行官 深度
--验证深度 深度
这将证书链验证的最大深度设置为 深度。 这是
深度 论证 OpenSSL的[4] SSL_CTX_set_verify_深度() 功能。
-vt 类型
--验证类型 类型
这将验证模式设置为 类型, 必须是 none 或 peer (case
不敏感)。 这是 模式 论证 OpenSSL的[4] SSL_CTX_set_verify()
功能。
--
此参数明确标记标志的结束。
- DACS -v (或 --详细) 标志使程序显示一些服务器的 SSL
证书,打印有关正则表达式匹配的反馈等。 如果 客户端 is
没有做你期望的,尝试使用这个标志。
服务器 身份 企业验证
如果服务器提供有效的 SSL (X.509) 证书,则会对其应用一组检查
以帮助确保 客户端 正在与预期实体进行通信。 验证是
成功,一旦任何测试成功,检查就会终止。 如果没有测试
成功,程序立即终止。
Tips:
您可以使用如下命令向标准输出显示 X.509 证书
以文本形式:
% openssl x509 -noout -text < cert.crt
在这里,cert.crt 是要显示的证书。
服务器证书的 subjectAltName 扩展字段的格式为
字段名称:字段值。 对于每个此类字段,按以下顺序进行测试:
1. 整个字段与每个给定的正则表达式匹配
命令行。
2.如果之前的测试失败并且field-name为“DNS”(完全匹配),则比较大小写
对服务器的名称(如命令行中给出的)不敏感。
3. 如果之前的测试失败并且字段名称是“IP 地址”(完全匹配),则为
与假定为 IP 地址的服务器名称(完全匹配)相比(如
在命令行中给出)。
如果上述过程不成功并且服务器证书的 commonName 属性
值可用,它与每个给定的正则表达式匹配
命令行。
示例
以下命令行尝试连接到 example.com 的端口 443 并打印到
标准输出服务器对主页请求的响应:
% perl -e 'printf "GET / HTTP/1.0\n\n";' | sslclient example.com:443
诊断
当与 DACS 已配置日志记录,消息将定向到日志文件,否则
错误消息和详细输出被写入标准错误。 如果一切正常,程序退出 0
很好,如果发生错误,则为 1。
附注
包装器操作模式可能很有用。
有一种模式来侦听 SSL 连接以获取输入也很有用
(而不是其标准输入),然后通过该连接将数据中继到指定的
服务器,可能但不一定通过 SSL。 此模式可能会在防火墙主机上运行以
转发已批准的传入 SSL 连接(大概由客户端进行身份验证
证书,并可能由 DACS 规则集)到在内部主机上运行的服务,用于
实例。
使用 onworks.net 服务在线使用 sslclient