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文件?   java如何基于字符串生成数组   c如何在Java/Scala中正确缓存BridJNI对象   java覆盖懒惰的一对一关系   java grails嵌套bean错误   在SeleniumWebdriver中使用带有Sikuli的Java变量   java play框架版本1.2.4   java NoClassDefFoundError ResourceFolderType   java JFrame是否可以像JDialog一样工作?   如何将注释(“对自定义实体类型的引用”)添加到通过Java客户端创建的意图中?不是Dialogflow控制台   用AVL树实现Bentley–Ottmann算法的java   swing Java在WindowBuilder构建的GUI上添加组件   为什么我的污点图像算法会使图像变暗?   SessionID的java实现作为HttpSession的一部分?   java将未知类型泛型列表转换为数组   java让Log4J与JBoss Hibernate协同工作