【问题标题】:gsutil giving Failure: PKCS12 format is not supported by the PyCrpto librarygsutil 给出失败:PyCrpto 库不支持 PKCS12 格式
【发布时间】:2013-11-01 16:21:00
【问题描述】:

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

请帮我摆脱这个错误

【问题讨论】:

  • 您能否将运行 /usr/local/gsutil/gsutil ls -D 的输出发送给我们。请删除 Authorization: 标头。如果您不想在公共论坛上发布调试信息,可以将其发送至 gs-team@google.com。

标签: google-cloud-storage gsutil


【解决方案1】:

我解决这个问题的方法(对于任何在谷歌上搜索的人)是在运行应用程序指定的命令后,我编辑了密钥(在 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-----

【讨论】:

  • 为我工作!或者,this answer 使用两种不同的转换工具实现相同的结果,这会导致 pem 文件没有标头。
【解决方案2】:

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

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

easy_install pyOpenSSL

pip install  pyOpenSSL

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

【讨论】:

  • 我使用 yum 安装了 pyOpenSSL-0.10-2.el6.x86_64,'gsutil ls' 失败,删除了 pyOpenSSL-0.10-2.el6.x86_64,尝试 pip install pyOpenSSl,安装 pyOpenSSL 失败。我必须安装 python-devel 包才能使“pip install pyOpenSSL”成功。之后,“gsutil ls”命令没有返回错误。
猜你喜欢
  • 2019-10-18
  • 2018-07-25
  • 2011-11-13
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 1970-01-01
相关资源
最近更新 更多