/** * 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; }