用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
