Correccion en el metodo de codificacion base64 para llaves
This commit is contained in:
@@ -1199,7 +1199,7 @@ async def get_cove(request: ServiceRemesaSchema):
|
|||||||
documentos_procesados = []
|
documentos_procesados = []
|
||||||
documentos_exitosos = 0
|
documentos_exitosos = 0
|
||||||
|
|
||||||
logger.info(f"Procesando acuses COVE para {len(coves)} documentos...")
|
logger.info(f"Procesando COVE para {len(coves)} documentos...")
|
||||||
|
|
||||||
for idx, cove in enumerate(coves):
|
for idx, cove in enumerate(coves):
|
||||||
documento_info = {
|
documento_info = {
|
||||||
@@ -1262,7 +1262,7 @@ async def get_cove(request: ServiceRemesaSchema):
|
|||||||
"documentos_exitosos": documentos_exitosos,
|
"documentos_exitosos": documentos_exitosos,
|
||||||
"documentos_fallidos": len(coves) - documentos_exitosos
|
"documentos_fallidos": len(coves) - documentos_exitosos
|
||||||
},
|
},
|
||||||
success_message=f"Se procesaron {documentos_exitosos}/{len(coves)} acuses cove de documentos exitosamente"
|
success_message=f"Se procesaron {documentos_exitosos}/{len(coves)} cove de documentos exitosamente"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Agregar advertencias si hubo documentos fallidos
|
# Agregar advertencias si hubo documentos fallidos
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import re
|
|||||||
import os
|
import os
|
||||||
from cryptography.hazmat.primitives import serialization, hashes
|
from cryptography.hazmat.primitives import serialization, hashes
|
||||||
from cryptography.hazmat.primitives.asymmetric import padding
|
from cryptography.hazmat.primitives.asymmetric import padding
|
||||||
|
from cryptography.hazmat.primitives.serialization import load_der_private_key
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from core.config import settings
|
from core.config import settings
|
||||||
@@ -30,7 +31,7 @@ def load_cert_base64(cert_path: str) -> str:
|
|||||||
|
|
||||||
def sign_chain_original(key_path: str, password: str, cadena_original: str) -> str:
|
def sign_chain_original(key_path: str, password: str, cadena_original: str) -> str:
|
||||||
with open(key_path, 'rb') as key_file:
|
with open(key_path, 'rb') as key_file:
|
||||||
private_key = serialization.load_pem_private_key(
|
private_key = load_der_private_key(
|
||||||
key_file.read(),
|
key_file.read(),
|
||||||
password=password.encode() if password else None
|
password=password.encode() if password else None
|
||||||
)
|
)
|
||||||
@@ -953,9 +954,17 @@ async def get_soap_cove(credenciales, response_service, soap_controller, cove, i
|
|||||||
# Realizar petición SOAP
|
# Realizar petición SOAP
|
||||||
logger.info("Realizando petición SOAP...")
|
logger.info("Realizando petición SOAP...")
|
||||||
|
|
||||||
|
# Headers específicos para este servicio SOAP
|
||||||
|
soap_headers = {
|
||||||
|
'Content-Type': 'text/xml; charset=utf-8',
|
||||||
|
'SOAPAction': '',
|
||||||
|
#'Accept-Encoding': 'gzip,deflate',
|
||||||
|
}
|
||||||
|
|
||||||
soap_response = await soap_controller.make_request_async(
|
soap_response = await soap_controller.make_request_async(
|
||||||
"ventanilla/ConsultarEdocumentService?wsdl",
|
"ventanilla/ConsultarEdocumentService?wsdl",
|
||||||
data=soap_xml,
|
data=soap_xml,
|
||||||
|
headers=soap_headers
|
||||||
)
|
)
|
||||||
|
|
||||||
if (soap_response) and (not soap_error(soap_response)):
|
if (soap_response) and (not soap_error(soap_response)):
|
||||||
|
|||||||
Reference in New Issue
Block a user