我正在尝试按照指定的对象存储通知配置 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
请帮我摆脱这个错误
答案 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)。