【发布时间】:2019-11-25 09:30:50
【问题描述】:
如果我使用来自 cryptography.hazmat.primitives.serialization 的 load_pem_private_key,我会收到 ValueError("Could not deserialize key data.")
添加更多上下文:
我的钥匙以
开头-----BEGIN OPENSSH PRIVATE KEY-----
引发此错误的代码段
key = serialization.load_pem_private_key(data=private_key.encode(),
password=None,
backend=default_backend())
错误的回溯显示
backend=default_backend()) -> 返回 load_pem_private_key 中的 backend.load_pem_private_key(数据,密码) -> 密码,在 load_pem_private_key -> self._handle_key_loading_error() in _load_key
【问题讨论】:
-
你先把私钥转成PKCS#8格式了吗?没有输入/输出,或者至少没有创建私钥的方法,真的不可能回答这个问题。
-
密码库不支持新的 OpenSSH 格式,但我认为 pycryptodome 支持...您可以将其加载到 pycryptodome 并保存为 pem/der 吗?
标签: cryptography python