我正在尝试根据示例here生成AWS Cloudfront的签名网址。在线
private_key = serialization.load_pem_private_key(
key_file.read(),
password=None,
backend=default_backend()
)
我收到错误UnsupportedAlgorithm: This backend does not support this key serialization.
完整跟踪如下:
File "command_util.py", line 98, in rsa_signer
backend=default_backend()
File "runtime/cryptography/hazmat/primitives/serialization.py", line 20, in load_pem_private_key
return backend.load_pem_private_key(data, password)
File "runtime/cryptography/hazmat/backends/multibackend.py", line 286, in load_pem_private_key
_Reasons.UNSUPPORTED_SERIALIZATION
UnsupportedAlgorithm: This backend does not support this key serialization.
在阅读文档时,它说由于以下原因而发生异常:
cryptography.exceptions.UnsupportedAlgorithm – the serialized key is of a type that is not supported by the backend or if
the key is encrypted with a symmetric cipher that is not supported by the backend.
给出的PEM文件以-----BEGIN RSA PRIVATE KEY-----
开头,以-----END RSA PRIVATE KEY-----
结尾。
我在开发此应用程序时使用google appengine sdk。
我需要帮助理解此错误消息以及如何使其工作。
答案 0 :(得分:2)
不幸的是,python加密库不能与google appengine(GAE)一起使用,因为这个库需要有C扩展,你不能在GAE中安装C扩展。你只能使用纯python包。