Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 M2Crypto.EVP.evperor:无法读取函数pkey\u read\u pem中的私钥_Python_Python 3.x_Openssl_M2crypto_Wallet - Fatal编程技术网

Python M2Crypto.EVP.evperor:无法读取函数pkey\u read\u pem中的私钥

Python M2Crypto.EVP.evperor:无法读取函数pkey\u read\u pem中的私钥,python,python-3.x,openssl,m2crypto,wallet,Python,Python 3.x,Openssl,M2crypto,Wallet,我有一个恼人的M2Crypto错误: 回溯(最近一次调用上次):文件 “/Work/pythonWork/pkpass/test.py”,中的第18行 load_key(str(keypemPath),pemPath,callback=passwordCallback)文件 “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site packages/M2Crypto/SMIME.py”, 第163行,在load_

我有一个恼人的M2Crypto错误:


回溯(最近一次调用上次):文件
“/Work/pythonWork/pkpass/test.py”,中的第18行
load_key(str(keypemPath),pemPath,callback=passwordCallback)文件
“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site packages/M2Crypto/SMIME.py”,
第163行,在load_键中
self.pkey=EVP.load_key(keyfile,callback)File“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site packages/M2Crypto/EVP.py”,
第395行,在load_键中
cptr=m2.pkey_read_pem(bio.bio,callback)M2Crypto.EVP.evperor:无法读取函数pkey_read_pem中的私钥。

我的代码:

def passwordCallback():
return "123456"

smime = SMIME.SMIME()
wwdrcert = X509.load_cert(wwdrpemPath)
stack = X509_Stack()
stack.push(wwdrcert)
smime.set_x509_stack(stack)
smime.load_key(str(keypemPath), pemPath,callback=passwordCallback)
  • 我的Python版本是:3.6
  • 我的openssl版本是:openssl 1.0.2p
  • 我的M2Crypto版本是:0.30.1

    • 这似乎是M2Crypto中的一个bug(请参阅)

      请尝试将密码强制转换为Python字节对象:

      def passwordCallback():
          return bytes("123456", "ascii")
      

      一些愚蠢的事情,比如对特定文件的读取权限?