我们最近开发了一个使用RSA的API,主要问题是在控制台中它可以正常工作但是一旦进入应用程序的“venv”它会显示不同的错误。
def sella_xml(cfdi, numero_certificado, archivo_cer, archivo_pem):
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)
M2Crypto库安装在ubuntu和pip中。
使用RSA的代码是:
/root/merci_api/venv/bin/gunicorn --workers 3 -b localhost:5000 main:app
Run Env的命令:
<div class="clickable-box" ng-click="openRetailerGraphDetails()" data-toggle="modal" data-target="#g-retailer-purchases-graph">
<div class="dashboardBox clearfix">
<div class="pull-left dashboardBoxLabel purchases">
<h4 class="dashboardBoxLabeltext">
{{RetailerPurchases}} RETAILER PURCHASES
</h4>
<span class="dashboardBoxLabel2">
For the current month
</span>
</div>
<img class="pull-right expand-icon" src="themes/img/dashboard/expand.svg" />
</div>
</div>
有什么建议吗?
我做错了什么?
答案 0 :(得分:1)
嗯,问题是我们安装的版本上的M2Crypto与Python 3不兼容,所以当我们使用另一个M2Crypto版本时,我们会遇到另一个问题&#34; SSL v2&#34;解决我们需要这个。
除非你使用python3分支,否则M2Crypto仍然不支持py3k。