如何使用 Python 确定客户端证书类型?
How to determine client certificate type using Python?
我有一个 HTTP-triggered Python Azure 函数。托管此功能的应用服务设置为 Require
客户端证书并且仅使用 HTTPS。
Azure 通过 X-ARR-ClientCert
header.
自动将来自每个 HTTP 请求的客户端证书传递给函数代码
如何使用 Python 确定传入证书的类型(.der、.crt、.pem、.cer)?
示例:
- 使用 Postman 进行测试时,我通过
Settings/Certificates
上传了 .crt 格式的证书
- Postman 将其编码为 .der(二进制)文件并将其传递给 Function 端点
- Azure(负载均衡器?)接收请求并通过
X-ARR-ClientCert
header 将证书转发到我的 Python 函数代码
- Azure 不会更改证书的原始形式(?)
- 如果客户端使用 say Python 而不是 Postman 来生成请求,并且他们通过网络发送了一个 .pem 文件(而不是 .der 文件),该函数将收到一个 .pem 文件.
如何确定证书文件类型,以便以编程方式从文件?
恐怕您无法使用python自动确定证书,但您可以手动确定并直接查看编码的证书。
首先,打开txt格式的证书文件,如果有----BEGIN CERTIFICATE----
这样的起始行,则为PEM
格式,否则采用 DER
格式。
然后,这里是一些common OpenSSL certificate manipulations:
查看 PEM 编码证书
使用具有证书扩展名的命令,将 cert.xxx 替换为证书名称
openssl x509 -in cert.pem -text -noout
openssl x509 -in cert.cer -text -noout
openssl x509 -in cert.crt -text -noout
如果出现以下错误,则表示您正在尝试查看 DER 编码证书,需要使用“查看下面的 DER 编码证书”中的命令
无法加载证书
12626:error:0906D06C:PEM routines:PEM_read_bio:no 开始 line:pem_lib.c:647: 期待:可信证书
查看 DER 编码证书
openssl x509 -in certificate.der -inform der -text -noout
我有一个 HTTP-triggered Python Azure 函数。托管此功能的应用服务设置为 Require
客户端证书并且仅使用 HTTPS。
Azure 通过 X-ARR-ClientCert
header.
如何使用 Python 确定传入证书的类型(.der、.crt、.pem、.cer)?
示例:
- 使用 Postman 进行测试时,我通过
Settings/Certificates
上传了 .crt 格式的证书
- Postman 将其编码为 .der(二进制)文件并将其传递给 Function 端点
- Azure(负载均衡器?)接收请求并通过
X-ARR-ClientCert
header 将证书转发到我的 Python 函数代码- Azure 不会更改证书的原始形式(?)
- 如果客户端使用 say Python 而不是 Postman 来生成请求,并且他们通过网络发送了一个 .pem 文件(而不是 .der 文件),该函数将收到一个 .pem 文件.
如何确定证书文件类型,以便以编程方式从文件?
恐怕您无法使用python自动确定证书,但您可以手动确定并直接查看编码的证书。
首先,打开txt格式的证书文件,如果有----BEGIN CERTIFICATE----
这样的起始行,则为PEM
格式,否则采用 DER
格式。
然后,这里是一些common OpenSSL certificate manipulations:
查看 PEM 编码证书 使用具有证书扩展名的命令,将 cert.xxx 替换为证书名称
openssl x509 -in cert.pem -text -noout
openssl x509 -in cert.cer -text -noout
openssl x509 -in cert.crt -text -noout
如果出现以下错误,则表示您正在尝试查看 DER 编码证书,需要使用“查看下面的 DER 编码证书”中的命令
无法加载证书 12626:error:0906D06C:PEM routines:PEM_read_bio:no 开始 line:pem_lib.c:647: 期待:可信证书 查看 DER 编码证书
openssl x509 -in certificate.der -inform der -text -noout