Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python加密在没有后端的情况下加载der证书(或使用哪个后端)_Python_Cryptography_X509_Der - Fatal编程技术网

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

如何使用Python加密在没有后端的情况下加载der证书(或使用哪个后端),python,cryptography,x509,der,Python,Cryptography,X509,Der,对于我正在尝试加载并能够使用证书的项目(该证书已在系统上下载,名称已知,扩展名已确认)。为了实现这一点,我尝试使用加密技术(尝试了不同的方法,但加密技术是外部提出的要求) 到目前为止,我所做的是遵循他们自己的文档。即: >>> from cryptography import x509 >>> cert = x509.load_der_x509_certificate(pem_data) 我已将pem_数据替换为证书名称。如果执行此操作,则会出现以下错误:

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

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

>>> from cryptography import x509
>>> cert = x509.load_der_x509_certificate(pem_data)
我已将pem_数据替换为证书名称。如果执行此操作,则会出现以下错误:

TypeError:load_der_x509_certificate()正好接受2个参数(给定1个)

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

>>> from cryptography import x509
>>> cert = x509.load_der_x509_certificate(pem_data, backend=None)
但是,我得到了以下错误:

AttributeError:“非类型”对象没有“加载\u der\u x509\u证书”属性

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


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

可以在中找到解释。从3.1开始,参数是可选的,为此,还可以比较的文档,例如和。描述了后端概念。在实践中,我只看到了
default\u backend()
的使用,所以我不认为这个概念真的会被使用(但这只是一个猜测)。啊,是的@托帕科,谢谢。事实上,不知何故,我安装了一个旧版本。我将尝试安装一个不需要的版本。非常感谢。