M2Crypto RSA 读取密钥的替代方法
M2Crypto RSA Alternative method for read key
实际上我用 M2Crypto RSA 读取了一个 .pem 文件,一切正常,但因为虚拟环境和 SSLv2_method 在 Ubuntu 和 Gunicorn 上的不兼容,我需要阅读并签名与我的代码相同的方法适用于:
keys = RSA.load_key(archivo_pem)
cert_file = open(archivo_cer, 'r')
cert = base64.b64encode(cert_file.read())
xdoc = ET.fromstring(cfdi)
xsl_root = ET.parse('cadenaoriginal_3_3.xslt')
xsl = ET.XSLT(xsl_root)
cadena_original = xsl(xdoc)
digest = hashlib.new('sha256', str(cadena_original)).digest()
sello = base64.b64encode(keys.sign(digest, "sha256"))
comp = xdoc.get('Comprobante')
xdoc.attrib['Sello'] = sello
xdoc.attrib['Certificado'] = cert
return ET.tostring(xdoc)
我想改变这个
keys = RSA.load_key(archivo_pem)
keys.sign(digest, "sha256")
对于本机方法。
key.pem 以
开头
-----BEGIN PRIVATE KEY-----
MY KEY
-----END PRIVATE KEY-----
所有都在控制台模式下工作,但是当我们尝试 运行 在 Gunicorn 上使用 Venv 和 worker 时,M2Crypto 版本失败,无论我们使用什么版本与 M2Crypto 总是会失败.
对本机模式有什么建议吗?
此致!
尝试 https://pypi.python.org/pypi/M2Crypto/0.26.0 … SSLv2 问题应该消失了(方法也是如此)。
实际上我用 M2Crypto RSA 读取了一个 .pem 文件,一切正常,但因为虚拟环境和 SSLv2_method 在 Ubuntu 和 Gunicorn 上的不兼容,我需要阅读并签名与我的代码相同的方法适用于:
keys = RSA.load_key(archivo_pem)
cert_file = open(archivo_cer, 'r')
cert = base64.b64encode(cert_file.read())
xdoc = ET.fromstring(cfdi)
xsl_root = ET.parse('cadenaoriginal_3_3.xslt')
xsl = ET.XSLT(xsl_root)
cadena_original = xsl(xdoc)
digest = hashlib.new('sha256', str(cadena_original)).digest()
sello = base64.b64encode(keys.sign(digest, "sha256"))
comp = xdoc.get('Comprobante')
xdoc.attrib['Sello'] = sello
xdoc.attrib['Certificado'] = cert
return ET.tostring(xdoc)
我想改变这个
keys = RSA.load_key(archivo_pem)
keys.sign(digest, "sha256")
对于本机方法。
key.pem 以
开头-----BEGIN PRIVATE KEY-----
MY KEY
-----END PRIVATE KEY-----
所有都在控制台模式下工作,但是当我们尝试 运行 在 Gunicorn 上使用 Venv 和 worker 时,M2Crypto 版本失败,无论我们使用什么版本与 M2Crypto 总是会失败.
对本机模式有什么建议吗?
此致!
尝试 https://pypi.python.org/pypi/M2Crypto/0.26.0 … SSLv2 问题应该消失了(方法也是如此)。