我正在编写一个涉及通过网络发送公钥的Python脚本。我正在使用<https://cryptography.io/en/latest/hazmat/primitives/asymmetric/serialization/.>。
我遇到了错误:
因此我无法反序列化该密钥 - 我感到困惑,因为根据文档,load_pem_public_key()需要1个必需参数(数据)和1个可选参数(后端)。
public_key = self.node.public_key
pem = public_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
deserialized_key = load_pem_public_key(pem)
我遇到了错误:
TypeError: load_pem_public_key() missing 1 required positional argument: 'backend'
因此我无法反序列化该密钥 - 我感到困惑,因为根据文档,load_pem_public_key()需要1个必需参数(数据)和1个可选参数(后端)。
from cryptography.hazmat.backends import default_backend
获取默认后端,并将default_backend()
(请注意,必须将其作为方法调用!)作为参数传递。您还可以升级到3.1+版本。 - Paul Kehrer