TLS-PSK
使用预共享密钥(pre-shared key)而非证书进行认证的 TLS。通信双方配置相同的标识和密钥,且不涉及任何证书基础设施——正因如此,它才能用于那些过小而无法验证证书链的设备,以及没有 PKI 体系的工厂。
它与 TLS 传输 打包在同一个构件(artifact)中,并通过其专属的传输代码来选择。
传输语法
{IP address or hostname}[:{port}]示例
modbus-tcp:tls-psk://192.168.1.100:802?tls-psk.psk-identity=line-3&tls-psk.psk-key=00112233445566778899aabbccddeeff名称
类型
默认值
必需
说明
名称
TLS-PSK
代码
tls-psk
Maven 依赖
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-transports-tls</artifactId>
<version>1.0.0</version>
</dependency>配置选项:
tls-psk.psk-identity
STRING
用于 TLS-PSK 身份验证的 PSK 标识字符串。必须与 psk-key 一起使用。
tls-psk.psk-key
STRING
用于 TLS-PSK 认证的十六进制字符串形式的 PSK 密钥。必须与 psk-identity 一起使用。
tls-psk.log-session-keys
BOOLEAN
false
以 SSLKEYLOGFILE 格式将 TLS 会话密钥记录到审计日志中,以便使用 Wireshark 进行解密。
tls-psk.connect-timeout-ms
INT
5000
以毫秒为单位的连接超时时间。
tls-psk.read-timeout-ms
INT
0
以毫秒为单位的套接字读取超时时间。0 表示不超时。
tls-psk.write-timeout-ms
INT(整数)
0
以毫秒为单位的 Socket 写入超时时间。0 表示无超时。
tls-psk.no-delay
BOOLEAN
true
启用 TCP_NODELAY(禁用 Nagle 算法)。
tls-psk.keep-alive
BOOLEAN
false
启用 SO_KEEPALIVE。
tls-psk.send-buffer-size
INT
81920
发送缓冲区大小(字节)。0 表示使用系统默认值。
tls-psk.receive-buffer-size
INT
81920
以字节为单位的接收缓冲区大小。0 表示使用系统默认值。
tls-psk.local-address
STRING
要绑定的本地地址(可选)。若未设置,则使用默认值。
tls-psk.local-port
INT
0
要绑定的本地端口(可选)。0 表示使用临时端口。
tls-psk.psk-identity 与 tls-psk.psk-key 是成对出现的——密钥采用十六进制编码,若只提供两者之一,连接将失败。其余套接字选项继承自 TCP transport。
| | tls-psk.log-session-keys=true 会将会话密钥以 SSLKEYLOGFILE 格式写入 audit-log,从而可以解密该连接的 Wireshark 抓包数据。这会把读取流量的能力交到任何持有该日志的人手中——请仅在测试系统上使用。 |
|
|---|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
评论
登录后参与评论
KnowForge