gsutil给出失败:PyCrpto库不支持PKCS12格式

时间:2013-10-23 11:50:47

标签: google-cloud-storage gsutil

我正在尝试按照指定的对象存储通知配置 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

请帮我摆脱这个错误

2 个答案:

答案 0 :(得分: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-----

答案 1 :(得分:1)

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

短期内,您可以安装PyOpenSSL吗?这应该适用于PKCS12文件。您可以使用以下内容执行此操作:

easy_install pyOpenSSL

pip install  pyOpenSSL

(你可能需要使用sudo)。