@@ -72,4 +72,4 @@ |
||
| 72 | 72 | |
| 73 | 73 | // si hubo errores mostrar |
| 74 | 74 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 75 | - echo $error,"\n"; |
|
| 75 | + echo $error, "\n"; |
|
@@ -71,5 +71,6 @@ |
||
| 71 | 71 | var_dump($track_id); |
| 72 | 72 | |
| 73 | 73 | // si hubo errores mostrar |
| 74 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 74 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 75 | 75 | echo $error,"\n"; |
| 76 | +} |
|
@@ -633,4 +633,4 @@ |
||
| 633 | 633 | |
| 634 | 634 | // si hubo errores mostrar |
| 635 | 635 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 636 | - echo $error,"\n"; |
|
| 636 | + echo $error, "\n"; |
|
@@ -611,17 +611,20 @@ discard block |
||
| 611 | 611 | // Objetos de Firma, Folios y EnvioDTE |
| 612 | 612 | $Firma = new \sasco\LibreDTE\FirmaElectronica($config['firma']); |
| 613 | 613 | $Folios = []; |
| 614 | -foreach ($folios as $tipo => $cantidad) |
|
| 614 | +foreach ($folios as $tipo => $cantidad) { |
|
| 615 | 615 | $Folios[$tipo] = new \sasco\LibreDTE\Sii\Folios(file_get_contents('xml/folios/'.$tipo.'.xml')); |
| 616 | +} |
|
| 616 | 617 | $EnvioDTE = new \sasco\LibreDTE\Sii\EnvioDte(); |
| 617 | 618 | |
| 618 | 619 | // generar cada DTE, timbrar, firmar y agregar al sobre de EnvioDTE |
| 619 | 620 | foreach ($documentos as $documento) { |
| 620 | 621 | $DTE = new \sasco\LibreDTE\Sii\Dte($documento); |
| 621 | - if (!$DTE->timbrar($Folios[$DTE->getTipo()])) |
|
| 622 | - break; |
|
| 623 | - if (!$DTE->firmar($Firma)) |
|
| 624 | - break; |
|
| 622 | + if (!$DTE->timbrar($Folios[$DTE->getTipo()])) { |
|
| 623 | + break; |
|
| 624 | + } |
|
| 625 | + if (!$DTE->firmar($Firma)) { |
|
| 626 | + break; |
|
| 627 | + } |
|
| 625 | 628 | $EnvioDTE->agregar($DTE); |
| 626 | 629 | } |
| 627 | 630 | |
@@ -632,5 +635,6 @@ discard block |
||
| 632 | 635 | var_dump($track_id); |
| 633 | 636 | |
| 634 | 637 | // si hubo errores mostrar |
| 635 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 638 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 636 | 639 | echo $error,"\n"; |
| 640 | +} |
|
@@ -78,4 +78,4 @@ |
||
| 78 | 78 | |
| 79 | 79 | // si hubo errores mostrar |
| 80 | 80 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 81 | - echo $error,"\n"; |
|
| 81 | + echo $error, "\n"; |
|
@@ -77,5 +77,6 @@ |
||
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | // si hubo errores mostrar |
| 80 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 80 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 81 | 81 | echo $error,"\n"; |
| 82 | +} |
|
@@ -87,4 +87,4 @@ |
||
| 87 | 87 | |
| 88 | 88 | // si hubo errores mostrar |
| 89 | 89 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 90 | - echo $error,"\n"; |
|
| 90 | + echo $error, "\n"; |
|
@@ -86,5 +86,6 @@ |
||
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | // si hubo errores mostrar |
| 89 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 89 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 90 | 90 | echo $error,"\n"; |
| 91 | +} |
|
@@ -107,4 +107,4 @@ |
||
| 107 | 107 | |
| 108 | 108 | // si hubo algún error se muestra |
| 109 | 109 | foreach (\sasco\LibreDTE\Log::readAll() as $log) |
| 110 | - echo $log,"\n"; |
|
| 110 | + echo $log, "\n"; |
|
@@ -106,5 +106,6 @@ |
||
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | // si hubo algún error se muestra |
| 109 | -foreach (\sasco\LibreDTE\Log::readAll() as $log) |
|
| 109 | +foreach (\sasco\LibreDTE\Log::readAll() as $log) { |
|
| 110 | 110 | echo $log,"\n"; |
| 111 | +} |
|
@@ -94,4 +94,4 @@ |
||
| 94 | 94 | |
| 95 | 95 | // si hubo errores mostrar |
| 96 | 96 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 97 | - echo $error,"\n"; |
|
| 97 | + echo $error, "\n"; |
|
@@ -93,5 +93,6 @@ |
||
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | // si hubo errores mostrar |
| 96 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 96 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 97 | 97 | echo $error,"\n"; |
| 98 | +} |
|
@@ -65,4 +65,4 @@ |
||
| 65 | 65 | |
| 66 | 66 | // si hubo errores mostrar |
| 67 | 67 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 68 | - echo $error,"\n"; |
|
| 68 | + echo $error, "\n"; |
|
@@ -64,5 +64,6 @@ |
||
| 64 | 64 | var_dump($track_id); |
| 65 | 65 | |
| 66 | 66 | // si hubo errores mostrar |
| 67 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 67 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 68 | 68 | echo $error,"\n"; |
| 69 | +} |
|
@@ -321,4 +321,4 @@ |
||
| 321 | 321 | |
| 322 | 322 | // si hubo errores mostrar |
| 323 | 323 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 324 | - echo $error,"\n"; |
|
| 324 | + echo $error, "\n"; |
|
@@ -299,17 +299,20 @@ discard block |
||
| 299 | 299 | // Objetos de Firma y Folios |
| 300 | 300 | $Firma = new \sasco\LibreDTE\FirmaElectronica($config['firma']); |
| 301 | 301 | $Folios = []; |
| 302 | -foreach ($folios as $tipo => $cantidad) |
|
| 302 | +foreach ($folios as $tipo => $cantidad) { |
|
| 303 | 303 | $Folios[$tipo] = new \sasco\LibreDTE\Sii\Folios(file_get_contents('xml/folios/'.$tipo.'.xml')); |
| 304 | +} |
|
| 304 | 305 | |
| 305 | 306 | // generar cada DTE, timbrar, firmar y agregar al sobre de EnvioBOLETA |
| 306 | 307 | $EnvioDTE = new \sasco\LibreDTE\Sii\EnvioDte(); |
| 307 | 308 | foreach ($set_pruebas as $documento) { |
| 308 | 309 | $DTE = new \sasco\LibreDTE\Sii\Dte($documento); |
| 309 | - if (!$DTE->timbrar($Folios[$DTE->getTipo()])) |
|
| 310 | - break; |
|
| 311 | - if (!$DTE->firmar($Firma)) |
|
| 312 | - break; |
|
| 310 | + if (!$DTE->timbrar($Folios[$DTE->getTipo()])) { |
|
| 311 | + break; |
|
| 312 | + } |
|
| 313 | + if (!$DTE->firmar($Firma)) { |
|
| 314 | + break; |
|
| 315 | + } |
|
| 313 | 316 | $EnvioDTE->agregar($DTE); |
| 314 | 317 | } |
| 315 | 318 | $EnvioDTE->setFirma($Firma); |
@@ -320,5 +323,6 @@ discard block |
||
| 320 | 323 | } |
| 321 | 324 | |
| 322 | 325 | // si hubo errores mostrar |
| 323 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 326 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 324 | 327 | echo $error,"\n"; |
| 328 | +} |
|
@@ -53,13 +53,13 @@ discard block |
||
| 53 | 53 | $Signatures->item($Signatures->length-1)->getElementsByTagName('Modulus')->item(0)->nodeValue, |
| 54 | 54 | $Signatures->item($Signatures->length-1)->getElementsByTagName('Exponent')->item(0)->nodeValue |
| 55 | 55 | );*/ |
| 56 | -$valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false; |
|
| 57 | -echo 'Verificando SetDTE:',"\n"; |
|
| 58 | -echo ' Digest SetDTE: ',base64_encode(sha1($SetDTE, true)),"\n"; |
|
| 59 | -echo ' Digest SignedInfo: ',base64_encode(sha1($SignedInfo->C14N(), true)),"\n"; |
|
| 60 | -echo ' Digest SignedInfo: ',bin2hex(sha1($SignedInfo->C14N(), true)),"\n"; |
|
| 61 | -echo ' Digest SetDTE valido: ',($DigestValue===base64_encode(sha1($SetDTE, true))?'si':'no'),"\n"; |
|
| 62 | -echo ' Digest SignedInfo valido: ',($valid?'si':'no'),"\n\n"; |
|
| 56 | +$valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false; |
|
| 57 | +echo 'Verificando SetDTE:', "\n"; |
|
| 58 | +echo ' Digest SetDTE: ', base64_encode(sha1($SetDTE, true)), "\n"; |
|
| 59 | +echo ' Digest SignedInfo: ', base64_encode(sha1($SignedInfo->C14N(), true)), "\n"; |
|
| 60 | +echo ' Digest SignedInfo: ', bin2hex(sha1($SignedInfo->C14N(), true)), "\n"; |
|
| 61 | +echo ' Digest SetDTE valido: ', ($DigestValue===base64_encode(sha1($SetDTE, true)) ? 'si' : 'no'), "\n"; |
|
| 62 | +echo ' Digest SignedInfo valido: ', ($valid ? 'si' : 'no'), "\n\n"; |
|
| 63 | 63 | |
| 64 | 64 | // verificar firma de documentos |
| 65 | 65 | $i = 0; |
@@ -81,18 +81,18 @@ discard block |
||
| 81 | 81 | $Signatures->item($i)->getElementsByTagName('Modulus')->item(0)->nodeValue, |
| 82 | 82 | $Signatures->item($i)->getElementsByTagName('Exponent')->item(0)->nodeValue |
| 83 | 83 | );*/ |
| 84 | - $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false; |
|
| 85 | - echo 'Verificando Documento:',"\n"; |
|
| 86 | - echo ' Digest Documento: ',base64_encode(sha1($Documento->C14N(), true)),"\n"; |
|
| 87 | - echo ' Digest SignedInfo: ',base64_encode(sha1($SignedInfo->C14N(), true)),"\n"; |
|
| 88 | - echo ' Digest Documento valido: ',($DigestValue===base64_encode(sha1($Documento->C14N(), true))?'si':'no'),"\n"; |
|
| 89 | - echo ' Digest SignedInfo valido: ',($valid?'si':'no'),"\n\n"; |
|
| 84 | + $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false; |
|
| 85 | + echo 'Verificando Documento:', "\n"; |
|
| 86 | + echo ' Digest Documento: ', base64_encode(sha1($Documento->C14N(), true)), "\n"; |
|
| 87 | + echo ' Digest SignedInfo: ', base64_encode(sha1($SignedInfo->C14N(), true)), "\n"; |
|
| 88 | + echo ' Digest Documento valido: ', ($DigestValue===base64_encode(sha1($Documento->C14N(), true)) ? 'si' : 'no'), "\n"; |
|
| 89 | + echo ' Digest SignedInfo valido: ', ($valid ? 'si' : 'no'), "\n\n"; |
|
| 90 | 90 | $i++; |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | // si hubo errores mostrar |
| 94 | 94 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
| 95 | - echo $error,"\n"; |
|
| 95 | + echo $error, "\n"; |
|
| 96 | 96 | |
| 97 | 97 | // para el XML de ejemplo del SII la clave pública obtenida desde el certificado |
| 98 | 98 | // no sirvió para validar las firmas del documento, se probó obteniendo la clave |
@@ -91,8 +91,9 @@ |
||
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | // si hubo errores mostrar |
| 94 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
| 94 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
| 95 | 95 | echo $error,"\n"; |
| 96 | +} |
|
| 96 | 97 | |
| 97 | 98 | // para el XML de ejemplo del SII la clave pública obtenida desde el certificado |
| 98 | 99 | // no sirvió para validar las firmas del documento, se probó obteniendo la clave |