我正在尝试在我的代码中实现签名的URL。我试图理解和调试谷歌提供的以下代码。
https://cloud.google.com/storage/docs/access-control#signing-code-python
以下是我在Developers控制台中的客户端ID
zzzzzzzzzzzz-zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.apps.googleusercontent.com
这是代码所期望的客户端ID吗?当我把它作为代码中的关键文本时,它会抛出“不支持RSA密钥格式”。任何投入都非常感谢,我是新手。
答案 0 :(得分:1)
完整示例显示基本上要做什么:https://github.com/GoogleCloudPlatform/storage-signedurls-python
在云端控制台中,API>凭证>新凭据>服务帐户密钥>键类型> P12。这会下载.p12
密钥
将密钥转换为PEM:
openssl pkcs12 -in /path/to/key.p12 -nodes -nocerts > /path/to/key.pem
将提示输入密码:notasecret
下载的私钥的名称是键的指纹。什么时候 检查计算机上的密钥,或使用密钥 应用程序,您需要提供密码
notasecret
。注意 而所有谷歌发行的私钥的密码是相同的 (notasecret
),每个密钥都是加密唯一的。
写RSA密钥:
openssl rsa -in /path/to/key.pem -inform PEM -out /path/to/key.der -outform DER
您想要提供的key.der
密钥
with open('key.der', 'rb') as k:
key = k.read()
然后
import Crypto.PublicKey.RSA as RSA
...
...
private_key = RSA.importKey(key)
答案 1 :(得分:0)
您可能需要考虑将gcloud-python用于Google云端存储,这为signing a URL提供了一种简便的方法。