【发布时间】:2016-09-07 09:04:56
【问题描述】:
我用这个方法:
从 OpenSSL 导入加密
cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('pubkey.pem', 'rt').read())
crypto.verify(cert, sign_code, data, 'sha1)
但是,当我加载证书时,它显示错误:
Traceback (most recent call last):
File "alipay.py", line 77, in <module>
qrpay = Qrpay()
File "alipay.py", line 32, in __init__
self.cert = crypto.load_certificate(crypto.FILETYPE_PEM, '123')
File "/usr/local/lib/python3.5/dist-packages/OpenSSL/crypto.py", line 1647, in load_certificate
_raise_current_error()
File "/usr/local/lib/python3.5/dist-packages/OpenSSL/_util.py", line 48, in exception_from_error_queue
raise exception_type(errors)
OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start line')]
但是,如果我加载公钥,它是成功的:
crypto.load_publickey(crypto.FILETYPE_PEM, open('pubkey.pem', 'rt').read())
是不是我做错了什么?
或者是否有其他方法可以进行验证?
【问题讨论】: