【发布时间】:2018-09-29 07:13:09
【问题描述】:
我正在尝试向使用 python 构建的服务器发送公钥,但在调用 load_pem_public_key 时出现以下错误
key = serialization.load_pem_public_key(pem_data,backend=default_backend())
File "/usr/local/lib/python3.5/dist-packages/cryptography/hazmat/primitives/serialization.py", line 24, in load_pem_public_key
return backend.load_pem_public_key(data)
File "/usr/local/lib/python3.5/dist-packages/cryptography/hazmat/backends/openssl/backend.py", line 1040, in load_pem_public_key
self._handle_key_loading_error()
File "/usr/local/lib/python3.5/dist-packages/cryptography/hazmat/backends/openssl/backend.py", line 1291, in _handle_key_loading_error
raise ValueError("Could not deserialize key data.") ValueError: Could not deserialize key data.
我的功能是这样的:
pem_data = request.args.get('public_key').encode()
key = serialization.load_pem_public_key(pem_data,backend=default_backend())
pem_data looks 喜欢(PEM 格式)
-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxt/G jhPU1Pt 0q68jEu\n9aXUohWo46G38t6KV1WQBbGpn28Uz9JvthITARtSW Q/6Sc3MNQdjDyUrdL64Mmq\nPTWVVOS8wSB ZayiZq48isoPQh4TPtv3exFNMaI2/339laoVX3aFjF7zxcyKgTVk\ng4Dm2ny9iPIEN3BTGn3FxD9lz3LyxVUd2pAV29wdI06TdDs8xI1P1xp8/gDJxZH3\nUroRAGphXTnfxn Aq5lAMesGG6HnO0/e KBLGeKFEIkIaH31555yQ3uBptl 3c9m\nkTOeBzMlvxX0rAVsZAXC8k1xoD28glUXQvcewq DqmsUNAVOLfHFhaNP6Lztjjuz\nMQIDAQAB\n-----END PUBLIC KEY-----\n
感谢您的帮助!
【问题讨论】:
-
你有没有得到这个工作?
-
你能解决这个问题吗?我目前正面临这个问题。
-
谷歌搜索:“无法反序列化关键数据。”顶部条目导致github.com/jpadilla/pyjwt/issues/257 - 现在这部分跳出 PEM 格式的键应采用以下格式:... 换行符 很重要。也许您的密钥不是正确的格式。
标签: python python-3.x serialization cryptography