【发布时间】:2019-11-04 11:39:46
【问题描述】:
我在尝试为 python 中的 ssl 上下文设置 TLS1.3 密码时遇到问题,尤其是“TLS_AES_128_CCM_SHA256”。
操作系统:Windows 7
Python 版本:3.7.4
OpenSSL 版本:1.1.1c
默认情况下,当我不设置密码套件时,可以在 TLS 握手中看到客户端确实提供了一些 TLS1.3 密码,但不是我需要的。
import ssl
if __name__ == '__main__':
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS)
ctx.set_ciphers('TLS_AES_128_CCM_SHA256')
print(ctx.get_ciphers())
我收到的错误:
ssl.SSLError:('No cipher can be selected.',)
【问题讨论】:
-
您必须选择一组密码,其中至少有一个项目与客户支持的项目相同。我还注意到它被称为 set_ciphers。如果需要一个序列,则该字符串可能会被解释为单个字符的序列。尝试在
)之前加一个逗号。 -
1.客户端支持这些密码,但我还没有尝试建立握手。首先,我尝试设置密码套件。 2. set_ciphers 函数支持单一密码套件。它适用于其他密码。这个的语法也是 set_ciphers('cipherSuite_A:cipherSuite_B:...')
-
您是否设法与此 TLS_AES_128_CCM_SHA256 建立握手?我是否面临同样的问题,我想使用 PSK-NULL-SHA256 但在密码套件列表中看不到
标签: python openssl pyopenssl tls1.3 ccm