在我的国家/地区,我必须拥有p12证书才能签署电子发票。 P12证书将以二进制形式保存在后端数据库字段中。我正在尝试使用openssl的加密来加载和读取此证书,这就是我正在做的事情:
try:
import xmlsig
from OpenSSL import crypto
except(ImportError, IOError) as err:
logging.info(err)
certificate = crypto.load_pkcs12(open(cert, 'rb').read(), password)
certificado2 = base64UTF8Decoder(cert)
with open(certificado2, 'rb') as b:
priv2 = b.read()
如果我设置了一个断点并检查certificado2变量,我会看到类似的内容(文本被截断)
b'MIIaJAIBAzCCGd4GCSqGSIb3DQEHAaCCGc8EghnLMIIZxzCCBaQGCSqGSIb3DQEHAaCCBZUEggWRMIIFjTCCBYkGCyqGSIb3DQEMCgECoIIE + jCCBPYwKAYKKoZIhvcNAQwBAzAaBBRANQaKOUnWUARlyWJyTV2SGI1DeAICBAAEggTIjecE65xQM3Od + qMZmof5l + WLGEklcL9TsTKq5mBVP + Lf2OX3sAwzfsXzMICL5hAkCGzKvtrnsSjN + QAbvxRsqMMpMa6XImDQwsglVOjkg +'
我也尝试在读取或打开证书之前对base64.decode进行解码,但是会引发相同的错误
任何帮助将不胜感激
谢谢