From f97b3d8317bdc01897b19e088d1e9ea4a22c9acb Mon Sep 17 00:00:00 2001 From: rodia Date: Mon, 14 Apr 2025 08:21:20 -0500 Subject: [PATCH] feat(WIP): Modificacion para emision de Nomina de Ajuste --- facho/fe/fe.py | 39 ++++---- facho/fe/nomina/__init__.py | 41 +++++--- scrips/AJU00001.py | 129 +++++++++++++++++++++++++ scrips/AJU00001.xml | 89 ++++++++++++++++++ scrips/AJU00001.zip | Bin 0 -> 4977 bytes scrips/Certificado.pfx | Bin 0 -> 7130 bytes scrips/nomina.csv | 4 +- scrips/nomina.sh | 5 +- scrips/nomina_ajuste.csv | 1 + scrips/nomina_ajuste.sh | 182 ++++++++++++++++++++++++++++++++++++ scrips/privada.pem | 169 +++++++++++++++++++++++++++++++++ scrips/publica.pem | 135 ++++++++++++++++++++++++++ 12 files changed, 759 insertions(+), 35 deletions(-) create mode 100644 scrips/AJU00001.py create mode 100644 scrips/AJU00001.xml create mode 100644 scrips/AJU00001.zip create mode 100644 scrips/Certificado.pfx mode change 100644 => 100755 scrips/nomina.sh create mode 100644 scrips/nomina_ajuste.csv create mode 100755 scrips/nomina_ajuste.sh create mode 100644 scrips/privada.pem create mode 100644 scrips/publica.pem diff --git a/facho/fe/fe.py b/facho/fe/fe.py index 39de2b8..42bc41d 100644 --- a/facho/fe/fe.py +++ b/facho/fe/fe.py @@ -1,6 +1,7 @@ # This file is part of facho. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. +from lxml.builder import E from ..facho import FachoXML, FachoXMLExtension, LXMLBuilder import uuid import xmlsig @@ -32,24 +33,25 @@ POLICY_NAME = u'Política de firma para facturas electrónicas de la República NAMESPACES = { - 'atd': 'urn:oasis:names:specification:ubl:schema:xsd:AttachedDocument-2', - 'no': 'dian:gov:co:facturaelectronica:NominaIndividual', - 'fe': 'http://www.dian.gov.co/contratos/facturaelectronica/v1', + #'atd': 'urn:oasis:names:specification:ubl:schema:xsd:AttachedDocument-2', + #'no': 'dian:gov:co:facturaelectronica:NominaIndividual', + 'noa': 'dian:gov:co:facturaelectronica:NominaIndividualDeAjuste', + # 'fe': 'http://www.dian.gov.co/contratos/facturaelectronica/v1', 'xs': 'http://www.w3.org/2001/XMLSchema-instance', - 'cac': 'urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2', - 'cbc': 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2', - 'cdt': 'urn:DocumentInformation:names:specification:ubl:colombia:schema:xsd:DocumentInformationAggregateComponents-1', - 'clm54217': 'urn:un:unece:uncefact:codelist:specification:54217:2001', - 'clmIANAMIMEMediaType': 'urn:un:unece:uncefact:codelist:specification:IANAMIMEMediaType:2003', + # 'cac': 'urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2', + #'cbc': 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2', + # 'cdt': 'urn:DocumentInformation:names:specification:ubl:colombia:schema:xsd:DocumentInformationAggregateComponents-1', + # 'clm54217': 'urn:un:unece:uncefact:codelist:specification:54217:2001', + # 'clmIANAMIMEMediaType': 'urn:un:unece:uncefact:codelist:specification:IANAMIMEMediaType:2003',`` 'ext': 'urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2', - 'qdt': 'urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2', - 'sts': 'dian:gov:co:facturaelectronica:Structures-2-1', - 'udt': 'urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2', - 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', - 'xades': 'http://uri.etsi.org/01903/v1.3.2#', - 'xades141': 'http://uri.etsi.org/01903/v1.4.1#', - 'ds': 'http://www.w3.org/2000/09/xmldsig#', - 'sig': 'http://www.w3.org/2000/09/xmldsig#', + # 'qdt': 'urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2', + # 'sts': 'dian:gov:co:facturaelectronica:Structures-2-1', + # 'udt': 'urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2', + 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', + 'xades': 'http://uri.etsi.org/01903/v1.3.2#', + 'xades141': 'http://uri.etsi.org/01903/v1.4.1#', + 'ds': 'http://www.w3.org/2000/09/xmldsig#', + #'sig': 'http://www.w3.org/2000/09/xmldsig#', } def fe_from_string(document: str) -> FachoXML: @@ -77,7 +79,6 @@ def mock_xades_policy(): class FeXML(FachoXML): def __init__(self, root, namespace): - super().__init__("{%s}%s" % (namespace, root), nsmap=NAMESPACES) @@ -88,8 +89,8 @@ class FeXML(FachoXML): def tostring(self, **kw): # MACHETE(bit4bit) la DIAN espera que la etiqueta raiz no este en un namespace return super().tostring(**kw)\ - .replace("fe:", "")\ - .replace("xmlns:no", "xmlns")\ + .replace("noa:", "")\ + .replace("xmlns:noa", "xmlns")\ .replace("change", "xsi:schemaLocation") diff --git a/facho/fe/nomina/__init__.py b/facho/fe/nomina/__init__.py index 5baaf57..1e08fda 100644 --- a/facho/fe/nomina/__init__.py +++ b/facho/fe/nomina/__init__.py @@ -250,7 +250,7 @@ class InformacionGeneral: # NIE202 # TABLA 5.5.2 # TODO(bit4bit) solo NominaIndividual - TipoXML = '102', + TipoXML = '103', # NIE024 CUNE = None, # NIE025 @@ -313,11 +313,30 @@ class DIANNominaXML: self.informacion_general_version = None self.tag_document = tag_document - self.fexml = fe.FeXML(tag_document, 'http://www.dian.gov.co/contratos/facturaelectronica/v1') + self.fexml = fe.FeXML(tag_document, "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste") if schemaLocation is not None: - self.fexml.root.set("SchemaLocation", "") + self.fexml.root.set( + "SchemaLocation", + "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste NominaIndividualDeAjusteElectronicaXSD.xsd" + ) self.fexml.root.set("change", schemaLocation) + else: + schemaLocation = "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste NominaIndividualDeAjusteElectronicaXSD.xsd" + self.fexml.root.set( + "SchemaLocation", "") + self.fexml.root.set( + "change", schemaLocation) + + + + + # self.fexml.root.set( + # "SchemaLocation", + # "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste NominaIndividualDeAjusteElectronicaXSD.xsd" + #) + # self.fexml.root.set("change", schemaLocation) + # layout, la dian requiere que los elementos # esten ordenados segun el anexo tecnico @@ -538,14 +557,11 @@ class DIANNominaXML: class DIANNominaIndividual(DIANNominaXML): def __init__(self): - schema = "dian:gov:co:facturaelectronica:NominaIndividual NominaIndividualElectronicaXSD.xsd" - super().__init__('NominaIndividual', schemaLocation=schema) self.informacion_general_version = 'V1.0: Documento Soporte de Pago de Nómina Electrónica' # TODO(bit4bit) confirmar que no tienen en comun con NominaIndividual class DIANNominaIndividualDeAjuste(DIANNominaXML): - class Reemplazar(DIANNominaXML): @dataclass class Predecesor: @@ -554,6 +570,7 @@ class DIANNominaIndividualDeAjuste(DIANNominaXML): fecha_generacion: str def apply(self, fragment): + fragment.set_element('./TipoNota', '1') fragment.set_element('./Reemplazar/ReemplazandoPredecesor', None, # NIAE090 NumeroPred = self.numero, @@ -566,7 +583,7 @@ class DIANNominaIndividualDeAjuste(DIANNominaXML): def __init__(self): super().__init__('NominaIndividualDeAjuste', './Reemplazar') # NIAE214 - self.root_fragment.set_element('./TipoNota', '1') + # self.root_fragment.set_element('./TipoNota', '1') def asignar_predecesor(self, predecesor): if not isinstance(predecesor, self.Predecesor): @@ -583,6 +600,7 @@ class DIANNominaIndividualDeAjuste(DIANNominaXML): fecha_generacion: str def apply(self, fragment): + fragment.set_element('./TipoNota', '2') fragment.set_element('./Eliminar/EliminandoPredecesor', None, # NIAE090 NumeroPred = self.numero, @@ -593,16 +611,17 @@ class DIANNominaIndividualDeAjuste(DIANNominaXML): ) def __init__(self): + schema = "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste NominaIndividualDeAjusteElectronicaXSD.xsd" super().__init__('NominaIndividualDeAjuste', './Eliminar') - self.root_fragment.set_element('./TipoNota', '2') + # self.root_fragment.set_element('./TipoNota', '2') self.informacion_general_version = "V1.0: Nota de Ajuste de Documento Soporte de Pago de Nómina Electrónica" def asignar_predecesor(self, predecesor): if not isinstance(predecesor, self.Predecesor): raise ValueError("se espera tipo Eliminar.Predecesor") predecesor.apply(self.fexml) - - def __init__(self): - super().__init__('NominaIndividualDeAjuste') + def __init__(self): + schema = "dian:gov:co:facturaelectronica:NominaIndividualDeAjuste NominaIndividualDeAjusteElectronicaXSD.xsd" + super().__init__('NominaIndividualDeAjuste') diff --git a/scrips/AJU00001.py b/scrips/AJU00001.py new file mode 100644 index 0000000..3154f18 --- /dev/null +++ b/scrips/AJU00001.py @@ -0,0 +1,129 @@ + +from facho import fe + +SOFTWARE_PIN='20234' +SOFTWARE_ID='100b0d10-0ca0-4ad4-a894-b704a568cbf3' +NIT='901575528' +DV='2' + +def extensions(nomina): + return [] + +def nomina(): + nomina = fe.nomina.DIANNominaIndividualDeAjuste.Eliminar() + + nomina.asignar_predecesor(fe.nomina.DIANNominaIndividualDeAjuste.Eliminar.Predecesor( + numero='A000001', + fecha_generacion='2025-03-23', + cune = '38e3a0863b2cc46e0746d0d97d0b305125292f24c0e478f9dd4f4a097c4403ae4e52d96d90f8b5702fc5eac8bc71004b', + )) + + # nomina.asignar_fecha_pago('2024-04-30') + + nomina.asignar_metadata(fe.nomina.Metadata( + novedad=fe.nomina.Novedad(False), + secuencia=fe.nomina.NumeroSecuencia( + prefijo='AJU', + consecutivo='00001' + ), + lugar_generacion=fe.nomina.Lugar( + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + ), + proveedor=fe.nomina.Proveedor( + razon_social='BICI PIZZA S.A.S', + nit=NIT, + dv=DV, + software_id=SOFTWARE_ID, + software_pin=SOFTWARE_PIN + ) + )) + + nomina.asignar_periodo(fe.nomina.Periodo( + fecha_ingreso= '2022-01-05', + fecha_liquidacion_inicio='2024-04-01', + fecha_liquidacion_fin='2024-04-30', + fecha_generacion='2024-04-30' + )) + + nomina.asignar_informacion_general(fe.nomina.InformacionGeneral( + fecha_generacion = '2024-04-30', + hora_generacion = '08:01:00-05:00', + tipo_ambiente = fe.nomina.InformacionGeneral.AMBIENTE_PRUEBAS, + software_pin = SOFTWARE_PIN, + periodo_nomina = fe.nomina.PeriodoNomina(code='1'), + tipo_moneda = fe.nomina.TipoMoneda(code='COP') + )) + + nomina.asignar_pago(fe.nomina.Pago( + forma=fe.nomina.FormaPago( + code='1', + ), + metodo=fe.nomina.MetodoPago( + code='10' + ) + )) + nomina.asignar_empleador(fe.nomina.Empleador( + razon_social='BICI PIZZA S.A.S', + nit = NIT, + dv = DV, + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + direccion = 'calle etrivial' + )) + + nomina.asignar_trabajador(fe.nomina.Trabajador( + tipo_contrato = fe.nomina.TipoContrato( + code = '1' + ), + alto_riesgo = False, + tipo_documento = fe.nomina.TipoDocumento( + code = '11' + ), + primer_apellido = 'GONZALEZ', + segundo_apellido = '', + primer_nombre = 'JUAN', + lugar_trabajo = fe.nomina.LugarTrabajo( + pais = fe.nomina.Pais(code='CO'), + departamento = fe.nomina.Departamento(code='05'), + municipio = fe.nomina.Municipio(code='05001'), + direccion = 'CL 35C 102-17 BL 7 AP 101' + ), + numero_documento = NIT, + tipo = fe.nomina.TipoTrabajador( + code = '01' + ), + salario_integral = False, + sueldo = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_devengado(fe.nomina.DevengadoBasico( + dias_trabajados = 30, + sueldo_trabajado = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionSalud( + porcentaje = fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionFondoPension( + porcentaje=fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + return nomina + diff --git a/scrips/AJU00001.xml b/scrips/AJU00001.xml new file mode 100644 index 0000000..53a174b --- /dev/null +++ b/scrips/AJU00001.xml @@ -0,0 +1,89 @@ + + + + + + + + + + +v3gLXFVP20p3X5RTkooSR2z/9jmFi4R6YbPQlKHLRwo= + + + +4vxQuFc85SS7cssuTdGgdTC/9qxq5XFRvGMQDp+1xeM= + + + + + + +CRSEul95G+Fqlnj1I1vKAj4c2HRsHJgpqcsYs+JJd/4= + + +O6ZPJ5b6iosFTKFV0CBoAAJqeQ3XmI73tKILKe5OG7idjWjVDKSlwVNOpTMw3uaM +qPt95yAzEYcy6f1NiHE5I6DhwmJhrpUJ1RlJZkSm0RAH4YUIWBStue+MbZIcPZqx +7TKS3O80DIGlZGAhn7MpP1AfevHD42ubDzLeVPM8dA205ZV6htmuknBO1rhNy7Te +J4ph/bk8eJc5N2d33ImlTJv32zc1Yyg4Vg7i6BbL2ngduRlPLoaac2VEDKs7JJxp +RZJi3N9e5RLkpzK5s+5+1tvHFf19yKR+zvGfb5i8GzKK/a5WPJ2aDYAtLuvUvLum +VmU3yzMVKAIAhsU8aa+E8w== + + +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK + + + +5J1O+4ZedrSBUsb+9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5 +/wra04OU57cS1/+/yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/Pbs +wnrKukFU2acxISwTLu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SI +iqqPwHKh+6EDIooujo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891 +KBA9Yebdw7m/+ufu+eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWns +pvDK97D8YG0MeifPYveIPw== +AQAB + + + +2025-04-13T18:25:09.305178YcIPspAVFcNg+B/galYrdCLYvLIEwFI4KWdSzcuupPY=C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II v3, OID.1.2.840.113549.1.9.1=info@andesscd.com.co4834208642831502931https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdfPolítica de firma para facturas electrónicas de la República de Colombia.dMoMvtcG5aIzgYo0tIsSQeVJBDnUnfSOfBpxXrmor0Y=supplier2falsehttps://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=19a695aad7a8fa12c4c2c4c07dbed5a5daf39ba43b333503cc23a1c7a09295ddf222c0e278762ca67a48874e9c68efc602400000.00192000.002208000.00 \ No newline at end of file diff --git a/scrips/AJU00001.zip b/scrips/AJU00001.zip new file mode 100644 index 0000000000000000000000000000000000000000..fdb7bbff252e5e02e4aaae9a5108e198d2aedf6e GIT binary patch literal 4977 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 literal 0 HcmV?d00001 diff --git a/scrips/Certificado.pfx b/scrips/Certificado.pfx new file mode 100644 index 0000000000000000000000000000000000000000..7b6b58da69493c81f81cbd4fcc0cf901eb55a522 GIT binary patch literal 7130 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 xR3tL;"${Prefijo}${Numero}".py + facho generate-nomina --private-key ${CERTIFICADO} --passphrase ${PASSPHARASE} --use-cache-policy --sign "${field[0]}${field[1]}".py "${Prefijo}${Numero}".xml + CUNE=$(grep -oP "(.*)" "${Prefijo}${Numero}".xml | sed -n 's/.*documentkey=\([^<]*\)<\/CodigoQR>.*/\1/p') + zip "${field[0]}${field[1]}".zip "${field[0]}${field[1]}".xml + if [ "$HABILITACION" == "True" ]; then + facho soap-send-test-set-async --private-key ${LLAVE_PRIVADA} --public-key ${LLAVE_PUBLICA} --habilitacion --password ${PASSPHARASE} --test-setid ${SET_PRUEBAS} "${field[0]}${field[1]}".xml "${field[0]}${field[1]}".zip + else + facho soap-send-nomina-sync --private-key ${LLAVE_PRIVADA} --public-key ${LLAVE_PUBLICA} --password ${PASSPHARASE} "${field[0]}${field[1]}".xml "${field[0]}${field[1]}".zip --produccion + fi + +done <${ARCHIVO_CSV} diff --git a/scrips/privada.pem b/scrips/privada.pem new file mode 100644 index 0000000..a86972c --- /dev/null +++ b/scrips/privada.pem @@ -0,0 +1,169 @@ +Bag Attributes + localKeyID: 47 1D 7A 81 07 9A 0F 92 5D D8 E8 FD 6D 22 D2 A6 D9 20 23 40 + friendlyName: BICI PIZZA S.A.S. +subject=street = TV 46 C 42 ESTE 789 CORR SANTA ELENA, emailAddress = bicipizza@gmail.com, CN = BICI PIZZA S.A.S., serialNumber = 9015755282, title = Emisor Factura Electronica - Persona Juridica, OU = Emitido por Andes SCD Ac 26 69 C 03 Torre B Of 701, O = GERENTE, L = MEDELL\C3\8DN, ST = ANTIOQUIA, C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = CA ANDES SCD S.A. Clase II v3, OU = Division de certificacion entidad final, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK +-----END CERTIFICATE----- +Bag Attributes: +subject=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- +Bag Attributes: +subject=emailAddress = info@andesscd.com.co, CN = CA ANDES SCD S.A. Clase II v2, OU = Division de certificacion entidad final, O = Andes SCD, L = Bogota D.C., C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +MIIGrzCCBJegAwIBAgIIRLa0wz3hC2gwDQYJKoZIhvcNAQELBQAwgaExIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMR8wHQYDVQQDExZST09UIENB +IEFOREVTIFNDRCBTLkEuMSIwIAYDVQQLExlEaXZpc2lvbiBkZSBjZXJ0aWZpY2Fj +aW9uMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDASBgNVBAcTC0JvZ290YSBELkMuMQsw +CQYDVQQGEwJDTzAeFw0xOTA4MDYxNjE0NTNaFw0yNTExMTUxNzM0MzBaMIG2MSMw +IQYJKoZIhvcNAQkBFhRpbmZvQGFuZGVzc2NkLmNvbS5jbzEmMCQGA1UEAxMdQ0Eg +QU5ERVMgU0NEIFMuQS4gQ2xhc2UgSUkgdjIxMDAuBgNVBAsTJ0RpdmlzaW9uIGRl +IGNlcnRpZmljYWNpb24gZW50aWRhZCBmaW5hbDESMBAGA1UEChMJQW5kZXMgU0NE +MRQwEgYDVQQHEwtCb2dvdGEgRC5DLjELMAkGA1UEBhMCQ08wggIiMA0GCSqGSIb3 +DQEBAQUAA4ICDwAwggIKAoICAQDOWKOiAg0IgACNXNyDCoAyaXo514UwF9oCqMjg +xAOhOe+g3lUDWTXtV6l8O1VXHQa86KZwqgT0mfw0HqePQYKC93n9+timuuT1FuAJ +Z9TnF/f6DQDzFQWsRVLdqV/hzNQ/rbOvPX8WN4Z97TyJaUtlxbENOKgOlzsW8hGe +eVrjDz9fk1e0TPem/CswuY+7Z/Pi4/EVz28UoTlfEMOg84ZutTomHOskIp6S86lw +X+ts15yChEf/dXBVkAMkBUpFc39iZWhhtewZo56Q8u9an5ZBQtOorB33LKFKn2P1 +V95Cf2XPZqWqLrP1wRQn0XWB1uDF+eAyQzShGA0jrZGgdlaFW8J7bx8+YntJHqFi +jI3UVwqCyb+TGO9RRcTRp3OfAwAKCbh56gHacvF5KEGj36d0zofw808WBpnhrnvQ +ofPp48mowpbByzuIqVtX0utVXgzg4QdNBSQ6uhDnjB8ETzwuJcUokC1lXwBMSDa0 +f5psC1yflyqdTOpSjZC8pMxwGUXhhvkfxDBaSsueExLpcKlolVojQRWm6C2oiumS +2lgeL4ydh8DFhi2llMLVCLZQLffG9ziTZtMd97n55NvXrVa4XbDIf4i5/XFrYgFy +R/rBZduYWDqxcwFnUP6HhTfuael8qNxKA3UWmxFK3ixNN5kaC/ErX3g4fC+KGqh4 +LeljKQIDAQABo4HTMIHQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU3RGS +WqlsBAz+NKJYv+sd+98IsG8wNwYIKwYBBQUHAQEEKzApMCcGCCsGAQUFBzABhhto +dHRwOi8vb2NzcC5hbmRlc3NjZC5jb20uY28wNAYDVR0fBC0wKzApoCegJYYjaHR0 +cDovL2NybC5hbmRlc3NjZC5jb20uY28vUmFpei5jcmwwHQYDVR0OBBYEFDpXUNB3 +Gz7Wi+r/l5nX/4QCSCkPMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC +AgEALA0nz8TvtoMZ70MBN7FFWZMqTXvkXY7mcnWImpTFLGzny+i119qODuItEf5G +977TzoTCxZC8DlPL1d88+YxAfYFRLXdb1HcDrNuWKMyoiFGH3vhNl+Ef//4zed98 +DV5jtoaCofFt/JzPz2iA7Al2LZ1m0vAF0z12LAytHqSfob+5mdgWkBnLae0vaWU+ +eGnoTkCYsasxca9oSKHDajqTvTa5WogibUaffcnb9LYaP3nkam9+favCyHHQW2lp +2xPPcP1gisvp99ga9Cwft7d/QHXNjseop2TwDoUHViUImaSpLz+2kWhkr2LOSTpL +43rWQhVQ/Y6SyYd3YWEBxJWwFvVlHvQ2wKwiE/z7kHnCP9ztPhS0umC1BMGq3pC4 +fifzvx9218JjDIOVrKzwonCTj0vwQZ4FmTttAr0G+R5TrqqvgF1t/RTfhWIxhUTk +TR3xRpR/5mBtqrSmyojGtdVkwHq2dmmDIkjefSbxKDkkAkhDRt5CDeV913B3MvYm +UiMoOJmLyapIZjIko1HxzXBv3dPc5LYSKpG8rd9SjJtA7W8LQzAVUq8O32nO7edY +IvTrC11fLkdToGOxLmfTzZ+facUESteELfxchZoda6I9qH5Xa7Xka2M2mmkj0SGU +46KREw+DtpoUkpAQ7rLaZ+4stT0j1Z8soirB+EUk8oBLiTI= +-----END CERTIFICATE----- +Bag Attributes + localKeyID: 47 1D 7A 81 07 9A 0F 92 5D D8 E8 FD 6D 22 D2 A6 D9 20 23 40 + friendlyName: BICI PIZZA S.A.S. +Key Attributes: +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIZXaHIVVK8xgCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECDiCo/ndioOzBIIEyOaIf6RezHh0 +6knOjiQyjWvc12TOqcPORR5yFaddeAZ5aoaHLfozNzhafH08QSsxAN2PW9aJI38u +rejfKXiOx9X98zFs5LVvbcNYaSlJBT7nCTvIJSRUO/p3lkDXUnW3+jbO2uT2UOgk +exV198RS1fZjat1VyIf/3DTCHYJKLvC2D46F6NgsdadEkDSyrLvqcCW3HAbE3zw/ +SmYmxGyEQVJWfgjTuzja07AFjWspls1rGXO9gdxcLXXHcDDfArkUPe9OTmeKMoXM +gtMuAAMJaQ3xpw3M7FaLHB0F0zXec5UhYTgs7n0jw/D2jTORqHqvAcZGRGuGnGwZ +QtuzISqBMqDEtdkVoobz0QURJP1QVj4X14xcQnaVbXCJq5uUdPlTkBvjHS11/tqX +X31wk2DmkGSsEtdLfeVupsWjd7C83IWEhZfj86lh0oxZORdR8n+JHyOI3bIFJqK0 +z5tv8HN7RfBZI09wr8YNYU45IfVgOBy3PDbeQ50eAVJg1T8pbQQHwUZ+0e1MXSiI +iiAU/j0VQYsSMFVZizNozfMAJ5kjV5Pb+BqhrPb10h1o/H4O+46kVJYUXakeVdMk +mLUDBvWG3rwqXvwan9k+Zeld9/frDoa9BjEi7QhgkuyaduzT8yXIai3oOoniX5FH +kDL6NAp0oBoVu4jLOvsGvYX69qc6AiMTaJgYxE9Nvv/hjhE3zuyEvGcXfDhH9yhp +BpQMXH9S18l/WBWb7ebzp+qFPfxQ/BzFEVGEJrWZMbwZZsGYs/t8Ug9Q2dZjPweS +42UWQU5qSabwT/A+NGtdNvPUbNnG/hpZr5Rt89JTUnqxQSTvqydvx3sijNniIOdu +nHrCT51yHXUIXgD3DsxBoXF2pPCotRALdxfVpA0f2Vcs4ihEKRqEfZ+EGrHarRgJ +u11LpS312Un2Ua8jifli2YkAGZiWxQ2VraoNdZiTRcUktFEjWaI73uXeoPhXNvTO +PnD5sjZgYwTFfd90zvhN+8oPs8csFUV1UjLE+WZOm0qtNUJWOncBca1ceonWNiCq +0HNZF9nnn+qCIoNQ+7MHDBWRAh7h68Tsp22M3FqbayLmsDQWIaruN3Kw7VzDFubk +d9seJxsOos58kbq5x9MXnbY630+1qjvDZaUP/SWyytJJrI0g24h8EC59RfiYXeGR +Mv2M4YIVZUqH0bivzDwumzb8MR7vFQGHFU0bbQZtouvulWc/naHF1eX5a3jrkqeI +WJ0Ms8wlqxtYONJWzo90E26Z10PH62QbYM+4Lu6lgFVC6Idzsy19GkksrQNfghE7 +XdDQb8BeS1Uer8qbt8IXSaS9X8jSTx29ccOE/ZFU8F0ZnxOR3s3hL+QMePictzyO +KVPOx7mUPrIbFg7NTMqRssmeYS4RXRShdR45cGtfrqHyrVsaO3x02ukB5LHNHfvV +3Dkrem7xf+m/T74GONuZJ5jNXsFz2rSY7PCxFTpPgHTPb56Kdmb+jaBj5vxfUjgA +ObioPS4HMPt/OKTREHpHbGFhlPD/RXDzh8K6dLPUbyMRZMUKIoDb2Mp8JYhOv0yO +oKVE7E/nYU6OtUGbS/qkuirpUeVmpvadTSuIaPA2KZYZJhKj0y0u5AO61k8ZLGKb +HPL9j6aYYJSt6dWdlY0Y6A== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/scrips/publica.pem b/scrips/publica.pem new file mode 100644 index 0000000..54d6fc4 --- /dev/null +++ b/scrips/publica.pem @@ -0,0 +1,135 @@ +Bag Attributes + localKeyID: 47 1D 7A 81 07 9A 0F 92 5D D8 E8 FD 6D 22 D2 A6 D9 20 23 40 + friendlyName: BICI PIZZA S.A.S. +subject=street = TV 46 C 42 ESTE 789 CORR SANTA ELENA, emailAddress = bicipizza@gmail.com, CN = BICI PIZZA S.A.S., serialNumber = 9015755282, title = Emisor Factura Electronica - Persona Juridica, OU = Emitido por Andes SCD Ac 26 69 C 03 Torre B Of 701, O = GERENTE, L = MEDELL\C3\8DN, ST = ANTIOQUIA, C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = CA ANDES SCD S.A. Clase II v3, OU = Division de certificacion entidad final, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK +-----END CERTIFICATE----- +Bag Attributes: +subject=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- +Bag Attributes: +subject=emailAddress = info@andesscd.com.co, CN = CA ANDES SCD S.A. Clase II v2, OU = Division de certificacion entidad final, O = Andes SCD, L = Bogota D.C., C = CO + +issuer=emailAddress = info@andesscd.com.co, CN = ROOT CA ANDES SCD S.A., OU = Division de certificacion, O = Andes SCD, L = Bogota D.C., C = CO + +-----BEGIN CERTIFICATE----- +MIIGrzCCBJegAwIBAgIIRLa0wz3hC2gwDQYJKoZIhvcNAQELBQAwgaExIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMR8wHQYDVQQDExZST09UIENB +IEFOREVTIFNDRCBTLkEuMSIwIAYDVQQLExlEaXZpc2lvbiBkZSBjZXJ0aWZpY2Fj +aW9uMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDASBgNVBAcTC0JvZ290YSBELkMuMQsw +CQYDVQQGEwJDTzAeFw0xOTA4MDYxNjE0NTNaFw0yNTExMTUxNzM0MzBaMIG2MSMw +IQYJKoZIhvcNAQkBFhRpbmZvQGFuZGVzc2NkLmNvbS5jbzEmMCQGA1UEAxMdQ0Eg +QU5ERVMgU0NEIFMuQS4gQ2xhc2UgSUkgdjIxMDAuBgNVBAsTJ0RpdmlzaW9uIGRl +IGNlcnRpZmljYWNpb24gZW50aWRhZCBmaW5hbDESMBAGA1UEChMJQW5kZXMgU0NE +MRQwEgYDVQQHEwtCb2dvdGEgRC5DLjELMAkGA1UEBhMCQ08wggIiMA0GCSqGSIb3 +DQEBAQUAA4ICDwAwggIKAoICAQDOWKOiAg0IgACNXNyDCoAyaXo514UwF9oCqMjg +xAOhOe+g3lUDWTXtV6l8O1VXHQa86KZwqgT0mfw0HqePQYKC93n9+timuuT1FuAJ +Z9TnF/f6DQDzFQWsRVLdqV/hzNQ/rbOvPX8WN4Z97TyJaUtlxbENOKgOlzsW8hGe +eVrjDz9fk1e0TPem/CswuY+7Z/Pi4/EVz28UoTlfEMOg84ZutTomHOskIp6S86lw +X+ts15yChEf/dXBVkAMkBUpFc39iZWhhtewZo56Q8u9an5ZBQtOorB33LKFKn2P1 +V95Cf2XPZqWqLrP1wRQn0XWB1uDF+eAyQzShGA0jrZGgdlaFW8J7bx8+YntJHqFi +jI3UVwqCyb+TGO9RRcTRp3OfAwAKCbh56gHacvF5KEGj36d0zofw808WBpnhrnvQ +ofPp48mowpbByzuIqVtX0utVXgzg4QdNBSQ6uhDnjB8ETzwuJcUokC1lXwBMSDa0 +f5psC1yflyqdTOpSjZC8pMxwGUXhhvkfxDBaSsueExLpcKlolVojQRWm6C2oiumS +2lgeL4ydh8DFhi2llMLVCLZQLffG9ziTZtMd97n55NvXrVa4XbDIf4i5/XFrYgFy +R/rBZduYWDqxcwFnUP6HhTfuael8qNxKA3UWmxFK3ixNN5kaC/ErX3g4fC+KGqh4 +LeljKQIDAQABo4HTMIHQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU3RGS +WqlsBAz+NKJYv+sd+98IsG8wNwYIKwYBBQUHAQEEKzApMCcGCCsGAQUFBzABhhto +dHRwOi8vb2NzcC5hbmRlc3NjZC5jb20uY28wNAYDVR0fBC0wKzApoCegJYYjaHR0 +cDovL2NybC5hbmRlc3NjZC5jb20uY28vUmFpei5jcmwwHQYDVR0OBBYEFDpXUNB3 +Gz7Wi+r/l5nX/4QCSCkPMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC +AgEALA0nz8TvtoMZ70MBN7FFWZMqTXvkXY7mcnWImpTFLGzny+i119qODuItEf5G +977TzoTCxZC8DlPL1d88+YxAfYFRLXdb1HcDrNuWKMyoiFGH3vhNl+Ef//4zed98 +DV5jtoaCofFt/JzPz2iA7Al2LZ1m0vAF0z12LAytHqSfob+5mdgWkBnLae0vaWU+ +eGnoTkCYsasxca9oSKHDajqTvTa5WogibUaffcnb9LYaP3nkam9+favCyHHQW2lp +2xPPcP1gisvp99ga9Cwft7d/QHXNjseop2TwDoUHViUImaSpLz+2kWhkr2LOSTpL +43rWQhVQ/Y6SyYd3YWEBxJWwFvVlHvQ2wKwiE/z7kHnCP9ztPhS0umC1BMGq3pC4 +fifzvx9218JjDIOVrKzwonCTj0vwQZ4FmTttAr0G+R5TrqqvgF1t/RTfhWIxhUTk +TR3xRpR/5mBtqrSmyojGtdVkwHq2dmmDIkjefSbxKDkkAkhDRt5CDeV913B3MvYm +UiMoOJmLyapIZjIko1HxzXBv3dPc5LYSKpG8rd9SjJtA7W8LQzAVUq8O32nO7edY +IvTrC11fLkdToGOxLmfTzZ+facUESteELfxchZoda6I9qH5Xa7Xka2M2mmkj0SGU +46KREw+DtpoUkpAQ7rLaZ+4stT0j1Z8soirB+EUk8oBLiTI= +-----END CERTIFICATE-----