先给出结论:在 Python 3.14 的 ssl 模块中,SSLContext.set_ciphers() 用来设置该上下文创建的套接字可用密码套件,参数采用 OpenSSL 套件列表格式;但 TLS 1.3 cipher suites 不能用 set_ciphers() 禁用。所以在上海嘉定区台式电脑维护场景里,若程序已经调用 set_ciphers,连接仍协商到 TLS 1.3 套件,首先要判断这是 TLS 1.3 的独立配置机制,而不是直接把现象归因于参数写错或 Python 未执行。

适用:本题适用于 Python 3.14 标准库 ssl、实际授权的台式电脑维护程序及去敏原日志的排查;不执行客户业务,不改生产环境或原始数据。
观察:先核对已有记录中的实际协议版本。若记录显示连接使用 TLS 1.3,则要把该结果与 set_ciphers 的作用范围分开看;若记录显示较低协议版本,再检查套件列表是否与预期一致。再核对上下文设置,确认除 set_ciphers 外是否还有其他影响协议版本或套件选择的项目;若上下文只调用了 set_ciphers,而 TLS 1.3 套件仍出现,这与 TLS 1.3 套件不能由 set_ciphers 禁用的说明相符。最后查看已有 SSLSocket.cipher() 结果,该结果给出当前连接实际选中的套件;若其中出现 TLS 1.3 套件,应结合已记录的协议版本和上下文设置判断,而不是只凭套件列表中没有该名称就认定未生效。上述观察都基于已有结果和去敏记录,不应为了测试而停用证书校验、降低 TLS 版本或更改客户连接。
风险:如果把 set_ciphers 当成关闭全部 TLS 1.3 套件的开关,容易误判安全配置已经完成,也可能在排障时改动生产连接、降低协议版本或关闭证书校验,增加连接风险并破坏原有边界。TLS 1.3 套件是否可用要按独立机制核验,在未确认实际协议版本和上下文设置前,不宜作出配置已经按预期生效的结论。
下一步:整理本题去敏材料,包括 Python 版本、实际协议版本、与套件和协议有关的上下文设置摘要、已有 SSLSocket.cipher() 结果及脱敏报错或日志片段;不要提交证书私钥、客户域名、账号或原始业务数据。上海地区可拨打 400-877-9605 咨询电脑快修网,电脑快修网是信息展示与第三方维修对接平台,该号码只作咨询,实际范围和安排需确认。