用法:
SSLContext.check_hostname
是否匹配
SSLSocket.do_handshake()
中对等证书的主机名。上下文的verify_mode
必须设置为CERT_OPTIONAL
或CERT_REQUIRED
,并且您必须将server_hostname
传递给wrap_socket()
才能匹配主机名。启用主机名检查会自动将verify_mode
从CERT_NONE
设置为CERT_REQUIRED
。只要启用了主机名检查,就不能将其设置回CERT_NONE
。PROTOCOL_TLS_CLIENT
协议默认启用主机名检查。对于其他协议,必须明确启用主机名检查。例子:
import socket, ssl context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) context.verify_mode = ssl.CERT_REQUIRED context.check_hostname = True context.load_default_certs() s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ssl_sock = context.wrap_socket(s, server_hostname='www.verisign.com') ssl_sock.connect(('www.verisign.com', 443))
3.4 版中的新函数。
在 3.7 版中更改:
verify_mode
现在自动更改为CERT_REQUIRED
当启用主机名检查并且verify_mode
是CERT_NONE
.以前相同的操作会失败ValueError
.
相关用法
- Python ssl.SSLContext.session_stats用法及代码示例
- Python ssl.SSLContext.get_ciphers用法及代码示例
- Python ssl.SSLSocket.getpeercert用法及代码示例
- Python ssl.match_hostname用法及代码示例
- Python ssl.OPENSSL_VERSION_NUMBER用法及代码示例
- Python ssl.enum_certificates用法及代码示例
- Python ssl.cert_time_to_seconds用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python str.isidentifier用法及代码示例
- Python sklearn.metrics.fbeta_score用法及代码示例
- Python scipy.fft.ihfftn用法及代码示例
- Python scipy.stats.normaltest用法及代码示例
- Python scipy.ndimage.convolve1d用法及代码示例
- Python scipy.stats.arcsine用法及代码示例
- Python scipy.interpolate.UnivariateSpline.antiderivative用法及代码示例
- Python scipy.linalg.hadamard用法及代码示例
- Python socket.create_server用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ssl.SSLContext.check_hostname。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。