Python M2Crypto.EVP.evperor:无法读取函数pkey\u read\u pem中的私钥
我有一个恼人的M2Crypto错误: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_
回溯(最近一次调用上次):文件
“/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")
一些愚蠢的事情,比如对特定文件的读取权限?