欢迎访问宙启技术站
智能推送

Python中certifi模块的作用与用法简介

发布时间:2023-12-25 11:10:31

certifi是一个Python模块,用于提供最新的根证书集合。根证书是用于验证SSL证书(HTTPS连接)的一组公钥,包含了受信任的证书颁发机构的公钥。

作用:

certifi模块的主要作用是提供一个可靠和最新的根证书集合,用于验证SSL证书的有效性。每次更新在根证书中添加、删除和更新证书后,需要确保本地的根证书也进行了更新,以确保与远程服务器建立的安全连接。

用法:

要使用certifi模块,首先需要安装它。可以使用pip命令来安装certifi模块:

pip install certifi

安装完毕后,可以在Python脚本中导入certifi模块,并使用它提供的函数来获取根证书路径或证书文件内容。

首先,通过导入certifi模块:

import certifi

可以使用certifi.where()函数来获取根证书的路径:

cafile = certifi.where()
print(cafile)

输出的结果将会是一个根证书的文件路径,例如:

/etc/ssl/certs/ca-certificates.crt

如果需要获取证书文件的内容,可以使用certifi.contents()函数:

cert_contents = certifi.contents()
print(cert_contents)

输出的结果将会是一个字符串,包含了根证书的内容。

以下是一个完整的示例,用于验证HTTPS连接的有效性:

import requests
import certifi

# 设置根证书
cafile = certifi.where()

# 发起HTTPS请求
response = requests.get('https://www.google.com', verify=cafile)

# 打印请求结果
print(response.status_code)

以上示例中,首先导入certifi模块,并使用certifi.where()函数获取根证书的路径。然后,使用requests库发起一个HTTPS请求,并通过verify参数指定根证书的路径。最后,打印请求的状态码。

总结:

certifi模块提供了一个可靠和最新的根证书集合,用于验证SSL证书的有效性。通过导入certifi模块,可以获取根证书的路径或证书文件内容,并将其用于验证HTTPS连接。