如何使用Python加密在没有后端的情况下加载der证书(或使用哪个后端)

2024-09-30 16:38:59 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我正在尝试加载并能够使用证书的项目(该证书已在系统上下载,名称已知,扩展名已确认)。为了实现这一点,我尝试使用加密技术(尝试了不同的方法,但加密技术是外部提出的要求)

到目前为止,我所做的是遵循他们自己的文档。即:

>>> from cryptography import x509
>>> cert = x509.load_der_x509_certificate(pem_data)

我已将pem_数据替换为证书名称。如果执行此操作,则会出现以下错误:

TypeError: load_der_x509_certificate() takes exactly 2 arguments (1 given)

我为避免此错误所做的工作还有:

>>> from cryptography import x509
>>> cert = x509.load_der_x509_certificate(pem_data, backend=None)

但是,我得到了以下错误:

AttributeError: 'NoneType' object has no attribute 'load_der_x509_certificate'

我想没有人不使用也不太奇怪,但不幸的是,我似乎无法在他们的文档中找到任何关于我应该使用什么后端的指示。我试着用谷歌搜索它,发现了一些关于Hazmat的信息(cryptography.Hazmat.backends.default_backend()),但这会警告不要使用它,除非我确定它似乎是一种方法,而不是实际的后端

有人能指出1:当他们的文档明确指出提供后端是可选的时,为什么这个方法不能使用给定的一个参数;和/或2:我可以使用哪个后端来解决这个问题


Tags: 方法from文档import名称cert错误load