用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。