问题标签 [tls-psk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - openSSL 1.1.1 API 疑点
我想为我的项目使用 openSSL 1.1.1 设置和运行带有 TLS 1.2 的 SSL 客户端和服务器。
我对 openSSL 有一些疑问和/或要求:
选择 TLS 1.2 作为版本的正确方法是什么?目前我正在使用 TLS_client_method()。其他方法似乎已被弃用。是否有用于选择特定版本的特定 API?
我需要运行具有以下握手扩展的 SSL 客户端。
- ec_point_formats 以“未压缩”为值
- supported_groups 列表为 "secp521r","secp384r1","secp256r1","secp224r1","secp192r1","secp160r1","ffdhe2048"
- encrypt_then_mac 值为 0
- 服务器名称
- extended_master_secret 没有任何值和长度设置为 0
我需要运行具有以下握手扩展的 SSL 服务器
- encrypt_then_mac 值为 0
- extended_master_secret 没有任何值和长度设置为 0
除了上述标题扩展字段之外,我还想禁用其他所有内容。如何做到这一点?
从客户端我只想提供“TLS_PSK_WITH_AES_128_CBC_SHA256”密码套件作为选项。
使用 PSK 密码时,成功建立连接和通信是否需要客户端证书和密钥文件 (pem)?
是否有任何带有 PSK 身份验证的示例或开源客户端-服务器实现?
openssl - OpenSSL 可以在同一个 SSL 上下文中处理多个身份验证机制吗?
我们正在尝试支持使用 TLS1.2 支持 PSK 和 SRP 身份验证机制的服务器。但是,当我们尝试在同一上下文中为两者运行回调时,只会检测到 PSK 回调:
SSL_CTX_set_psk_server_callback(m_ctx, psk_out_of_bound_serv_cb);
SSL_CTX_set_srp_username_callback(m_ctx, srp_server_param_cb);
如果您只设置一个回调或另一个,SRP 和 PSK 目前在我们的代码中工作。我尝试先注册 SRP,但这样做并没有改变唯一的 PSK 正在工作的事实。因此,另一种方法是在 SSL 上下文中单独设置这些。我还确认 SRP 和 PSK 密码套件在设置时组合起来不是问题。
以下是我们拥有的测试场景的快速摘要:
- 仅具有 SRP 回调的 SRP 客户端 - 有效
- 仅具有 PSK 回调的 PSK 客户端 - 有效
- 带有 SRP+PSK 回调的 SRP 客户端 - 不起作用
- 具有 SRP+PSK 回调的 PSK 客户端 - 有效
不同机制的多个回调会在同一个 SSL 上下文上同时工作吗?
node.js - 通过 Node.js 中的预共享密钥 (PSK) 恢复 TLS 会话
目前,Node.js 的TLS 会话恢复文档仅涵盖两种方法(会话 ID 和会话票证),这两种方法在 TLS 1.3 规范中都已过时。在实践中,我发现当服务器配置为处理它们时,Filezilla 并没有通过 TLS 1.3 使用这些方法中的任何一种。
Filezilla 团队成员向我证实了这一点,他们只使用 TLS 1.3 中指定的预共享密钥方法。
这让我看到了PSK 文档,可悲的是,这些文档比会话恢复文档更加稀疏和过时。他们甚至不包括在握手期间交换 PSK,而是专注于带外 PSK。我一直在挖掘 Node 源代码,但没有发现任何有用的东西,因为这些东西大部分都在 deps -> OpenSSL 中,而且我在破译 C 方面的技能不是很好。
我的问题很可能不适合这种媒体,如果是这样,我了解它是否已关闭。也就是说,我的问题很简单:此时是否可以在 Node.js 中实现基于 PSK 的会话恢复,如果可以,该流程会是什么样子?
openssl - OpenSSL 1.1.1 PSK TLS1.3 - TLS_256_GCM_SHA384 密码套件没有合适的签名算法错误
我正在使用 OpenSSL 1.1.1l 2021 年 8 月 24 日在 Windows 中运行一些测试,对 PSK TLS_128_GCM_SHA256 和 TLS_256_GCM_SHA384 使用 s_client 和 s_server。
对于 PSK TLS_128_GCM_SHA256我能够成功建立连接:
服务器:
客户
但是,我无法成功建立密码套件TLS_AES_256_GCM_384的连接
服务器
客户
我错过了什么?谢谢!
java - netty ssl 密钥交换模式,如何在 netty 中使用 TLS-PSK 模式
我们用的是Netty4,打算扩展Netty的SSL安全模式,不确定Netty4是否支持PSK密钥交换模式,有知道这方面的人指导一下,非常感谢