我正在尝试用GAE Python实现Google Identity Toolkit(gitkitv3)。用户登录网站后,我收到以下错误:
'PKCS12 format is not supported by the PyCrpto library. '
NotImplementedError: 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.
根据SO的回复,我在x.p12文件上运行了以下命令,并使用了生成的privatekey.pem文件:
openssl pkcs12 -passin pass:notasecret -in x.p12 -nocerts -passout pass:notasecret -out key.pem
openssl pkcs8 -nocrypt -in key.pem -passin pass:notasecret -topk8 -out privatekey.pem
现在,我得到以下错误:
'X509 certs are not supported by the PyCrypto library. '
NotImplementedError: X509 certs are not supported by the PyCrypto library. Try using PyOpenSSL if native code is an option.
我从谷歌开发者控制台下载了x.p12。如何修复此错误?请帮助
有任何解决方案吗
我一定需要这个文件.p12吗?还是可以将其内容复制到全局变量中并使用它(作为解决方法)?有人能给我解释一下这个文件的实际用途吗?
更新
看起来谷歌提供的PyCrypto库非常有限,并且缺乏支持X509的能力。
安装pyopenssl
为我修复了问题:
pip install pyopenssl