gepd / HTTP-DTE

API HTTP para la emisión de documentos tributarios de Chile (SII)
MIT License
19 stars 7 forks source link

Firma #2

Open luisvilches opened 2 years ago

luisvilches commented 2 years ago

Hola buenas, primero que nada Felicitaciones por el proyecto.

Mi consulta es la siguiente como se realizaría el tema de la firma ? entiendo que como comercio de debe tener un certificado teniendo en cuenta esto como se debería firmar la api ?

Saludos.

pd: si necesitas ayuda en algun tema me indicas y podria contribuir, menejo como lenguajes principales Javascript/Nodejs y Dart/Flutter, tambien manejos otros lenguajes a menor escala como PHP,Java, C++ y Python.

gepd commented 2 years ago

Hola Luis, gracias por tu comentario, solo ahora me di cuenta que no está muy clara esa parte en la documentación, agregaré más detalles

La firma se debe enviar en el cuerpo de la petición post, de esta forma

"Firma": {
    "data": "",
    "pass": ""
  },

el archivo con la firma debes leerlo en el lenguaje que utilices y luego enviarla codificada en base64, el resultado de eso lo incluyes en el campo firma, la contraseña del certificado va en el campo pass

ReneI commented 1 year ago

Saludos desde mexico la firma es el archivo pfx ?

gepd commented 1 year ago

Si @ReneI es el archivo pfx

ReneI commented 1 year ago

va solo queria probar si funciona una pfx nomas que no me corrio su programa me sale error 400 en todas las peticiones usando postman, en fin tengo la duda si la estructura del request es asi? `

    <soapenv:Body>
        <def:getToken soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <pszXml xsi:type="xsd:string"><![CDATA[<?xml version="1.0"?>
094424014808 Ssk7xhBznDCqwKZBYGzvZRCID+s= TY1Key5udNP1UpCBCvzhwhMnTADZWifxAqHTxYdzeNs8xGGraQQPeo+9YWPOetQp R3PhuZF/pzedgdTm0aVmB6CD/K1xV4dj6zKEwqChZTnhSpcp+A+6nGlQ+PAleeMr 3775ByBdn0jv+PUN/MmscFRuiv3M4wxQViDohyq+z0TM032A5GFp3rkqr1eRj7pu uvI+CRCjVmfFpnPZ3noZFryf2rxydR51ZOI9UVsQfVCjbh+mqAjADEzbt4kn9v4f zc/19hxl+RZdsUqwVdBWTjJs2yvQaOBjVUc55aWY8XxXnLxtFXzfvJyxuyXg2Uft m1JKOEoNChTHce7NZ4G6Tg== zZC0BhSdPv2iax6WHaR0QBK1pozWQNQZcMDkFowLoD3JdzXjlPNB3VZLXLUkpKsy hgvWshN0+CsWX1rs54Y9rnw3YS56KGe5U13L5XJBtIRkDyExKEFxH2d5jU1zPVnF vjMzD5VihUZUQ/2zwwp2HmZlbgAwnY7jnApohRsq1rAlVshkZLsjag2idcYpOWIP plP8MCUoLOy/VuDcv7eu1UqvTYcWmEr7dX4Q5ZmSZ7PiJAJ5kMisDnbaMhvr+8uq qIcBefvc64BlwhSWLadNpUMBdo9toCoSKkjXnM7Ole/Jcw1baBx4Ef+NfvLrXuSY bD8EbEbeXnhf2eS7VJPDxQ== AQAB MIIGFTCCBP2gAwIBAgIBCTANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UEBhMCQ0wx GDAWBgNVBAoTD0FjZXB0YS5jb20gUy5BLjE1MDMGA1UEAxMsQWNlcHRhLmNvbSBB dXRvcmlkYWQgQ2VydGlmaWNhZG9yYSBSYWl6IC0gRzQxHjAcBgkqhkiG9w0BCQEW D2luZm9AYWNlcHRhLmNvbTETMBEGA1UEBRMKOTY5MTkwNTAtODAeFw0xNjA2MjEx NDE0NTlaFw0zNjA2MjExNDE0NTlaMIGmMQswCQYDVQQGEwJDTDEYMBYGA1UEChMP QWNlcHRhLmNvbSBTLkEuMUgwRgYDVQQDEz9BY2VwdGEuY29tIEF1dG9yaWRhZCBD ZXJ0aWZpY2Fkb3JhIENsYXNlIDIgUGVyc29uYSBOYXR1cmFsIC0gRzQxHjAcBgkq hkiG9w0BCQEWD2luZm9AYWNlcHRhLmNvbTETMBEGA1UEBRMKOTY5MTkwNTAtODCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNG61rMrY4PNFLYtJ8d/Xl0 28k3eYGGQac1xNccC451jUADlS30cT5fMRzR3OKfMzZTyIg3R64chPZQW5Xv4dFC Yj9v9cR6+3lrnFESguR0ayj3p7XTqWrzDjQVduZRSKlFvLGKCPcAHqO7eQL3IcA3 rW3LO86i5m1e89r3XkylarVG2bi33pTXjbjGkkA+6L3Tm7LW3Qn9PZ42hLYfXKYH FLvGdDqFxfuzh94sSdDXE61jhDMKke3/FWeiA1DN+kmW3BJweHAGBTUErN0WaL87 IoUqYB7/Y/xWr5jeXFLHLvNHIft2Dgh99QqXR1M5YPaYRu7If8l8T+Y7VpMoxp8C AwEAAaOCAl0wggJZMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUFST8h38H xLwpsxJ0ua5/5/pqHZUwHQYDVR0OBBYEFGWlqz4/yLZRbRF+X8MKB+ZDoAi2MAsG A1UdDwQEAwIBBjCCAT8GA1UdIASCATYwggEyMIIBLgYKKwYBBAG1a4dqATCCAR4w MQYIKwYBBQUHAgEWJWh0dHBzOi8vYWNnNC5hY2VwdGEuY29tL0NQUy1BY2VwdGFj b20wgegGCCsGAQUFBwICMIHbMBYWD0FjZXB0YS5jb20gUy5BLjADAgEBGoHATGEg dXRpbGl6YWNpb24gZGUgZXN0ZSBjZXJ0aWZpY2FkbyBlc3RhIHN1amV0YSBhIGxh cyBwb2xpdGljYXMgZGUgY2VydGlmaWNhZG8gKENQKSB5IHByYWN0aWNhcyBkZSBj ZXJ0aWZpY2FjaW9uIChDUFMpIGVzdGFibGVjaWRhcyBwb3IgQWNlcHRhLmNvbSwg eSBkaXNwb25pYmxlcyBwdWJsaWNhbWVudGUgZW4gd3d3LmFjZXB0YS5jb20uMFoG A1UdEgRTMFGgGAYIKwYBBAHBAQKgDBYKOTY5MTkwNTAtOKAkBggrBgEFBQcIA6AY MBYMCjk2OTE5MDUwLTgGCCsGAQQBwQECgQ9pbmZvQGFjZXB0YS5jb20wWgYDVR0R BFMwUaAYBggrBgEEAcEBAaAMFgo5NjkxOTA1MC04oCQGCCsGAQUFBwgDoBgwFgwK OTY5MTkwNTAtOAYIKwYBBAHBAQKBD2luZm9AYWNlcHRhLmNvbTANBgkqhkiG9w0B AQsFAAOCAQEAUjOFx/JDFBgOKigbPeWv+v0diYjwfagdRt7wkqEQmuJvM6fhr40b D9taD8wKeFiemP7JqfFIpmKC8ZDmc67uwgdCV1N+Am9BJL2VW2EMrj3hD4xgafOz jT/P1WnzmZj0mH+RPZMK9gswJdNDLgOAknaekYdXF7uGrsidr006CqrIbx099Nc8 RnjB4VEsKNuhBWUuGjq0bulv/8/aqlhrAbEsDbPDOKTt768R2fG4klRrsFhw0fzz Z798dPXKwrd7mfgAZE7DoN3CzAenOjOjUBCh6u+PUN5/F7nXkVU+u499HNB2lKLS FDIwIdHmFRTr30BD/vwE4mZ+YB61ehhjng== MIIGAjCCBOqgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UEBhMCQ0wx GDAWBgNVBAoTD0FjZXB0YS5jb20gUy5BLjE1MDMGA1UEAxMsQWNlcHRhLmNvbSBB dXRvcmlkYWQgQ2VydGlmaWNhZG9yYSBSYWl6IC0gRzQxHjAcBgkqhkiG9w0BCQEW D2luZm9AYWNlcHRhLmNvbTETMBEGA1UEBRMKOTY5MTkwNTAtODAeFw0xNjA2MjEx NDE0NTlaFw0zNjA2MjExNDE0NTlaMIGTMQswCQYDVQQGEwJDTDEYMBYGA1UEChMP QWNlcHRhLmNvbSBTLkEuMTUwMwYDVQQDEyxBY2VwdGEuY29tIEF1dG9yaWRhZCBD ZXJ0aWZpY2Fkb3JhIFJhaXogLSBHNDEeMBwGCSqGSIb3DQEJARYPaW5mb0BhY2Vw dGEuY29tMRMwEQYDVQQFEwo5NjkxOTA1MC04MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAx6UlIqXbGW+9+wMcdHslSWmAAS6Yh3RbS3YLgDb02vRxqqYK MgLettoIh/syY4v8ddMwqRqgF59k/IW2zhe+wT3DYTHLMIPLouyhzi7ZRgd2DnMM IA7JmFtPZyeALnmHNuwMskePg0ZqfWd7IIYCbVHu1qelCa7SiENjgvMS+MOlUuCm OMiLomrP2mNEjpnsBFKsj1Lws16sh3SHPU/lrf7J8fIEUPSeqXDapmoTSgjeeDzc YNWVkA3MnNhwHR1sk/hP3cdvFNSbiJ3dcs/7Jo3uVek/FwutZ7bRASPaIYqfuGJ5 nybBKsAZsXB3ivTFeUBOfXorx0NS3dmcrxxr3QIDAQABo4ICXTCCAlkwDwYDVR0T AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQVJPyHfwfEvCmzEnS5rn/n+modlTAdBgNV HQ4EFgQUFST8h38HxLwpsxJ0ua5/5/pqHZUwCwYDVR0PBAQDAgIEMIIBPwYDVR0g BIIBNjCCATIwggEuBgorBgEEAbVrh2oBMIIBHjAxBggrBgEFBQcCARYlaHR0cHM6 Ly9hY2c0LmFjZXB0YS5jb20vQ1BTLUFjZXB0YWNvbTCB6AYIKwYBBQUHAgIwgdsw FhYPQWNlcHRhLmNvbSBTLkEuMAMCAQEagcBMYSB1dGlsaXphY2lvbiBkZSBlc3Rl IGNlcnRpZmljYWRvIGVzdGEgc3VqZXRhIGEgbGFzIHBvbGl0aWNhcyBkZSBjZXJ0 aWZpY2FkbyAoQ1ApIHkgcHJhY3RpY2FzIGRlIGNlcnRpZmljYWNpb24gKENQUykg ZXN0YWJsZWNpZGFzIHBvciBBY2VwdGEuY29tLCB5IGRpc3BvbmlibGVzIHB1Ymxp Y2FtZW50ZSBlbiB3d3cuYWNlcHRhLmNvbS4wWgYDVR0SBFMwUaAYBggrBgEEAcEB AqAMFgo5NjkxOTA1MC04oCQGCCsGAQUFBwgDoBgwFgwKOTY5MTkwNTAtOAYIKwYB BAHBAQKBD2luZm9AYWNlcHRhLmNvbTBaBgNVHREEUzBRoBgGCCsGAQQBwQEBoAwW Cjk2OTE5MDUwLTigJAYIKwYBBQUHCAOgGDAWDAo5NjkxOTA1MC04BggrBgEEAcEB AoEPaW5mb0BhY2VwdGEuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQA478wl04AHMs+A 6p+vX1hgepBFaLMWZIBeQbobUm2H1WisLdJBzpDwwYdLYp7RY94OoY0gR4yeshSX xOoDuuibx89s6UOJvi5BB7O/SMRG4rXFGL9f70zcwmYMmKbXgV5hqj6+P0Mm/muz 9sj5JoM4ii9r7I0iJYXqA/pB2WjnGbciQqI+jaXiW1CcWQhMLRw9/G5KOMc2ZYob Qp2S3y26SQB24G56oGc2eH4DTW97WfCk+znnTZ4Pow3p3+sw3AZeWRIAQMmnt+lH M19aeTSwGgRo4EHNNsbLKXgcNtzn+lyQ8zAC0GVWRDqjxESXw6w1syjHV6eHMhIL ZL9StXdw MIIGhTCCBW2gAwIBAgIDBXerMA0GCSqGSIb3DQEBCwUAMIGmMQswCQYDVQQGEwJD TDEYMBYGA1UEChMPQWNlcHRhLmNvbSBTLkEuMUgwRgYDVQQDEz9BY2VwdGEuY29t IEF1dG9yaWRhZCBDZXJ0aWZpY2Fkb3JhIENsYXNlIDIgUGVyc29uYSBOYXR1cmFs IC0gRzQxHjAcBgkqhkiG9w0BCQEWD2luZm9AYWNlcHRhLmNvbTETMBEGA1UEBRMK OTY5MTkwNTAtODAeFw0yMTAyMDUxODA1MDFaFw0yNDAyMDUxODA1MDFaMIGUMQsw CQYDVQQGEwJDTDEYMBYGA1UEDBMPUEVSU09OQSBOQVRVUkFMMSkwJwYDVQQDEyBD TEFVRElPIFJJQ0hBUkQgTUFSVElORVogUEFMQUNJTzErMCkGCSqGSIb3DQEJARYc Y2xhdWRpb19tYXJ0aW5lekBob3RtYWlsLmNvbTETMBEGA1UEBRMKMTI4OTY5MDMt OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM2QtAYUnT79omselh2k dEAStaaM1kDUGXDA5BaMC6A9yXc145TzQd1WS1y1JKSrMoYL1rITdPgrFl9a7OeG Pa58N2EueihnuVNdy+VyQbSEZA8hMShBcR9neY1Ncz1Zxb4zMw+VYoVGVEP9s8MK dh5mZW4AMJ2O45wKaIUbKtawJVbIZGS7I2oNonXGKTliD6ZT/DAlKCzsv1bg3L+3 rtVKr02HFphK+3V+EOWZkmez4iQCeZDIrA522jIb6/vLqqiHAXn73OuAZcIUli2n TaVDAXaPbaAqEipI15zOzpXvyXMNW2gceBH/jX7y617kmGw/BGxG3l54X9nku1ST w8UCAwEAAaOCAsowggLGMB8GA1UdIwQYMBaAFGWlqz4/yLZRbRF+X8MKB+ZDoAi2 MB0GA1UdDgQWBBQwoKNPDOMoQ/wvDd+5Ju29SFBFPzALBgNVHQ8EBAMCBPAwHQYD VR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMBEGCWCGSAGG+EIBAQQEAwIFoDCB 9QYDVR0gBIHtMIHqMIHnBggrBgEEAbVrAjCB2jAxBggrBgEFBQcCARYlaHR0cHM6 Ly9hY2c0LmFjZXB0YS5jb20vQ1BTLUFjZXB0YWNvbTCBpAYIKwYBBQUHAgIwgZcw FhYPQWNlcHRhLmNvbSBTLkEuMAMCAQkafUVsIHRpdHVsYXIgaGEgc2lkbyB2YWxp ZGFkbyBlbiBmb3JtYSBvbmxpbmUsIHF1ZWRhbmRvIGhhYmlsaXRhZG8gZWwgQ2Vy dGlmaWNhZG8gcGFyYSB1c28gdHJpYnV0YXJpbywgcGFnb3MsIGNvbWVyY2lvIHkg b3Ryb3MuMFoGA1UdEgRTMFGgGAYIKwYBBAHBAQKgDBYKOTY5MTkwNTAtOKAkBggr BgEFBQcIA6AYMBYMCjk2OTE5MDUwLTgGCCsGAQQBwQECgQ9pbmZvQGFjZXB0YS5j b20wZwYDVR0RBGAwXqAYBggrBgEEAcEBAaAMFgoxMjg5NjkwMy05oCQGCCsGAQUF BwgDoBgwFgwKMTI4OTY5MDMtOQYIKwYBBAHBAQKBHGNsYXVkaW9fbWFydGluZXpA aG90bWFpbC5jb20wRwYIKwYBBQUHAQEEOzA5MDcGCCsGAQUFBzABhitodHRwczov L2FjZzQuYWNlcHRhLmNvbS9hY2c0L29jc3AvQ2xhc2UyLUc0MD8GA1UdHwQ4MDYw NKAyoDCGLmh0dHBzOi8vYWNnNC5hY2VwdGEuY29tL2FjZzQvY3JsL0NsYXNlMi1H NC5jcmwwDQYJKoZIhvcNAQELBQADggEBACSG5sH4JtbTi/iCYAVV+jqNtpbB2fyP GMLlVKMbEydsRzEf8yACnFqz8QmZ+Am5574cAg7fO6tRrV6RZtmJ4KBcujpkMys7 Di3msM3CGvbaRKOaULIwXxV8KjcY4vXkkulGyNxyrQmBYYqCSg4hckepAp/z1ymZ xP91wYyJK8opuQzayTwjgKaRTX+VOYQd9ZlSR3SEPgMUegYqml6kNPGpvYH6KH4I JcUeYnj6lqE+AuYLjedFF4hsPrUV85r+QtzYkGvIKtU6aTv9Rcp0ssYwWciNUqLR r/Kh9+xCLRc91wg++sfGamDi7jzc4shob02fr98Gf4zDQ1FdOeViXBA=

]]> </def:getToken> </soapenv:Body> </soapenv:Envelope>`

ReneI commented 1 year ago

Cual podria ser el error, me podria ayudar checando mi certificado? el certificado lo firme con un xml con xmlsec1 - asi : `

030530912644 jlbzatIIBLW8AjH++5uVTTrGIMVwGButuoAR88y/hvSc1+6/eW1K864fK3cKi76oArqk7lAM4pP okoXme0JT/hRXXGo6ecuKzO18z2WfPWwgnN0f3ac03TDu7PwfqiDG9mhQpYfIkNp6GNJIiqlg9PG2w1fOJ1QoypsrQmKq6 YU=

`

gepd commented 1 year ago

el certificado parece bien, eso sí necesitas enviarlo en base64