Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Google应用程序引擎上验证数字签名_Python_Google App Engine_Rsa_Digital Signature - Fatal编程技术网

Python 在Google应用程序引擎上验证数字签名

Python 在Google应用程序引擎上验证数字签名,python,google-app-engine,rsa,digital-signature,Python,Google App Engine,Rsa,Digital Signature,我正在使用GAE(python),必须使用公钥(pem格式)验证数字签名 我不能使用M2Crypto(GAE不支持它),并且以下代码都不起作用: pubKey = pem from Crypto import PublicKey key = PublicKey.RSA.importKey(pubKey) 现在,为了使这段代码正常工作,我们必须有Pycrypto包,它已经存在于appengine中,但“importKey()”函数仍然给出了错误 另外,我在GAE中的Pycrypto包中找不到类

我正在使用GAE(python),必须使用公钥(pem格式)验证数字签名 我不能使用M2Crypto(GAE不支持它),并且以下代码都不起作用:

pubKey = pem

from Crypto import PublicKey
key = PublicKey.RSA.importKey(pubKey)
现在,为了使这段代码正常工作,我们必须有Pycrypto包,它已经存在于appengine中,但“importKey()”函数仍然给出了错误 另外,我在GAE中的Pycrypto包中找不到类实现

编辑:

好,, 经过几个小时令人难以置信的思考,他终于解决了这个问题。 问题在于pycrypto模块的版本。 据我所见,GAE支持Pycrypto 2.0.1版,它似乎没有特定的类和方法,如RSA实现和ImportKey() 我在本地机器上将Pycrypto更新为2.4,在那里它能够理解RSA实现和importKey()

还查看了Pycrypto的变更日志 似乎只有版本2.2才支持导入pem格式的公钥


基本问题仍然存在..如何在GAE上使用RSA验证数字签名(因为GAE使用的是Pycrypto 2.0.1版)

行:key=PublicKey.RSA.importKey(pem)我收到以下错误:状态:500内部服务器错误内容类型:text/html;charset=utf-8缓存控制:无缓存过期:Fri,01 Jan 1990 00:00:00 GMT内容长度:0但相同的代码在我的本地计算机上运行良好,该计算机具有pycrypto版本2.4。那么,GAE上的问题是由于pycrypto的较旧版本造成的吗?您应该发布失败的调用堆栈,错误500表示希望出现错误,但为了修复它,您需要发布更多详细信息。这是我在AppEngine上获得的日志:“模块”对象没有属性“importKey”