Esempio n. 1
0
 /**
  * Método que realiza la firma del DTE
  * @param Firma objeto que representa la Firma Electrónca
  * @return =true si el DTE pudo ser fimado o =false si no se pudo firmar
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2015-09-17
  */
 public function firmar(\sasco\LibreDTE\FirmaElectronica $Firma)
 {
     $parent = $this->xml->getElementsByTagName($this->tipo_general)->item(0);
     $this->xml->generate(['TmstFirma' => $this->timestamp], $parent);
     $xml = $Firma->signXML($this->xml->saveXML(), '#' . $this->id, $this->tipo_general);
     if (!$xml) {
         \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::DTE_ERROR_FIRMA, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::DTE_ERROR_FIRMA, $this->getID()));
         return false;
     }
     $this->loadXML($xml);
     return true;
 }