UnsupportedAlgorithm:此后端不支持此密钥序列化。 - Python 密码学 load_pem_private_key

UnsupportedAlgorithm: This backend does not support this key serialization. - Python cryptography load_pem_private_key

我正在尝试根据示例 here 为 AWS Cloudfront 生成签名 url。上线

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。

我需要帮助来理解此错误消息以及如何使其正常工作。

不幸的是,python 加密库不能与 google appengine(GAE) 一起使用,因为该库需要 C 扩展,而您不能在 GAE 中安装 C 扩展。您只能使用纯 python 包。