python 3.5中的ssl.match_hostname()函数

backports.ssl_match_hostname的Python项目详细描述



来自python 3.7的ssl.match_hostname()函数
=========


如果检查连接到的服务器返回的证书中的主机名,则安全套接字层实际上是*secure*

并验证它是否与您试图访问的主机名相匹配。


单独实现可能有点困难。
因此python 3.2标准库中的“ssl”包现在包含一个用于执行此检查的“match\u hostname()”函数,而不是要求每个应用程序分别执行检查。


用户
使用早期版本的python。
只需将此分发作为包的依赖项,
,然后按如下方式使用它:


from backports.ssl\u match\u hostname import match\u hostname,certificateerror
[…]
ssl sock=ssl.wrap\u socket(sock,ssl\u version=ssl.protocol\u sslv23,
cert_reqs=ssl.cert_required,ca_certs=…)
尝试:
匹配主机名(sslsock.getpeercert(),hostname)
除了certificateerror,ce:



brandon craig rhodes只是此发行版的打包程序;
里面的实际代码来自python 3.7,对
可移植性做了一些小的更改。



从python 2.6开始,“`ssl`”包含在python标准库中,因此不需要单独安装。

_` ssl模块`::https://pypi.python.org/pypi/ssl


history
----

*此函数在python-3.2中引入
*已为python-3.4a 1更新cve
(backports-ssl_match_hostname-3.4.0.1)
*已从rfc2818更新到rfc 6125,以修复python-3.3和python-3.4a5
(backports-ssl\u match\u hostname-3.4.0.2)
*在python-3.5中更新了它,以处理serveraltname字段中的ipaddress
(如果还从pypi安装
ipaddress库,backports.ssl\u match\u hostname将执行此操作)。
*在python-3.7中更新了它,以处理不带ipaddress库和ipaddress库的ipaddress。放弃了对部分通配符的支持。_` ipaddress模块`::https://pypi.python.org/pypi/ipaddress

…_ rfc2818:http://tools.ietf.org/html/rfc2818.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么Struts 2注释没有LongRangeFieldValidator   java哪个更高效   简单Java加密/解密(错误:意外类型| |必需:找到变量:值)   java谷歌mlkit的条形码扫描仪无法识别任何条形码   java如何捕捉游标窗口错误   java依赖于使用ivy的gradle项目   java是检查谁在使用线程的好方法。interrupted()和不抛出InterruptedException?   java添加。在Eclipse中将文件类化为构建路径   java如何将JFreechart添加到面板?   java数学。当参数名为“e”时,mxparser返回NaN   java使用hadoop文件系统API模拟hadoop fs命令(hadoop fs cat)   图像Java代码打开应用程序并显示图标   使用Java POST请求在Django Tastypie上创建资源,但得到500个错误代码   java SpringBoot显示注销按钮,仅适用于未使用thymeleaf登录的用户   java Android后台服务和活动之间的自动通信   javascript在本地存储中设置键和值,以便在边缘浏览器中加载URL   java通过配置创建重复的springboot控制器