2

我正在尝试 https://developers.google.com/storage/docs/object-change-notification#_Service_Account中指定的对象存储通知配置

我遵循了确切的步骤,但是在运行“gsutil ls”命令时出现以下错误:

/usr/local/gsutil/gsutil ls 
Failure: PKCS12 format is not supported by the PyCrpto library. Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -nodes -nocerts > privatekey.pem) or using PyOpenSSL if native code is an option..

我尝试按照错误消息中的说明转换为 PEM,并使用 gsutil config -e 重新配置,但它返回 PEM 格式的相同错误。

我的 gsutil 版本是 3.37 我已经编译并安装了 pycrypto-2.6

请帮我摆脱这个错误

4

2 回答 2

6

我解决这个问题的方法(对于任何在谷歌上搜索的人)是在运行应用程序指定的命令之后,我编辑了密钥(在 Vim 中,但任何文本编辑器都应该工作)并删除文件开头的额外信息。

编辑前:

Bag Attributes
    friendlyName: privatekey
    localKeyID: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Key Attributes: <No Attributes>
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

编辑后:

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
于 2014-07-07T19:48:08.400 回答
1

因此,这里的幕后似乎有一些问题。其中之一是向您报告此错误的 gsutil 使用的库无法正确识别 PEM 文件,这就是运行该命令后仍然无法正常工作的原因。我们将努力为下一个 gsutil 版本修复此问题。

短期内,你能安装 PyOpenSSL 吗?这应该适用于 PKCS12 文件。你可以这样做:

easy_install pyOpenSSL

或者

pip install  pyOpenSSL

(您可能需要为此使用 sudo)。

于 2013-10-23T19:22:33.027 回答