Google App Engine Python的RSA加密例程
你好,我正在尝试在 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 个回答
正如bossylobster所提到的,你可以通过将需要的RSA包的源代码复制到你应用程序的目录结构中的一个子目录里,来把它作为你应用的一部分。这部分代码会和你的应用一起上传到应用引擎服务中。只要这个包只使用了应用引擎在生产环境中提供的那些标准库模块,它就会正常运行。最终的目录结构大概会是这样的:
mysite/
app.yaml
main.py
urls.py
...
tlslite/
__init__.py
...