此模块提供对 Client 端和服务器端网络套接字的传输层安全性(通常称为“安全套接字层”)加密和对等身份验证Function的访问。该模块使用 OpenSSL 库。只要在该平台上安装了 OpenSSL,它就可以在所有现代 Unix 系统,Windows,Mac OS X 以及可能的其他平台上使用。

Note
由于对 os 套接字 API 进行了调用,因此某些行为可能取决于平台。安装的 OpenSSL 版本也可能导致行为变化。例如,TLSv1.1 和 TLSv1.2 随附 openssl 版本 1.0.1.

Warning

请勿在未阅读Security considerations的情况下使用此模块。这样做可能会导致错误的安全感,因为 ssl 模块的默认设置不一定适合您的应用程序。

开始

此模块提供了一个类ssl.SSLSocket,该类派生自socket.socket类型,并提供类似于套接字的包装器,该包装器还使用 SSL 对pass套接字的数据进行加密和解密。它支持其他方法,例如getpeercert()(用于检索连接另一侧的证书)和cipher()(用于检索用于安全连接的密码)。

对于更复杂的应用程序,ssl.SSLContext类有助于 Management 设置和证书,然后可以passpass SSLContext.wrap_socket() 方法创建的 SSL 套接字继承这些设置和证书。

在版本 3.5.3 中进行了更改:已更新以支持与 OpenSSL 1.1.0 链接

在版本 3.6 中更改:不建议使用 OpenSSL 0.9.8、1.0.0 和 1.0.1,并且不再支持。将来,ssl 模块将至少需要 OpenSSL 1.0.2 或 1.1.0.