Google App Engine Python的RSA加密例程

2 投票
1 回答
1588 浏览
提问于 2025-04-17 09:47

你好,我正在尝试在 Python 中生成一个签名的 URL。简单来说,我想从 Google App Engine 服务器访问受保护的 Amazon Cloudfront 内容。亚马逊给了我一个 pem 文件,里面的内容看起来像这样:

-----BEGIN RSA PRIVATE KEY-----

MIICWQf....还有很多字符...7bx8WiUk

-----END RSA PRIVATE KEY-----

根据 使用 Python 开始安全的 AWS CloudFront 流媒体 的介绍,签名的 URL 是通过 EVP 生成的,像这样:key = EVP.load_key_string(priv_key_string)。主要的问题是 Google App Engine 不支持 from M2Crypto import EVP。我试着在网上搜索Google App Engine 的 RSA 加密例程,但没有找到任何可用的模块。我偶然发现了一个链接,在 Google App Engine Python SDK 上用 RSA 私钥签名字符串,说我可以使用 from tlslite.utils import keyfactory。然而,我仍然收到一个提示,表示 No module named tlslite.utils

总之,我只是想知道是否有人知道在 Google App Engine 上有没有可以进行 RSA 加密的模块。谢谢,大家的帮助我一直很感激。

1 个回答

1

正如bossylobster所提到的,你可以通过将需要的RSA包的源代码复制到你应用程序的目录结构中的一个子目录里,来把它作为你应用的一部分。这部分代码会和你的应用一起上传到应用引擎服务中。只要这个包只使用了应用引擎在生产环境中提供的那些标准库模块,它就会正常运行。最终的目录结构大概会是这样的:

mysite/
    app.yaml
    main.py
    urls.py
    ...
    tlslite/
        __init__.py
        ...

撰写回答