/**
  * Carga las claves Públicas y Privadas para las funciones de Cifrado/Descifrado
  * @throws Excepciones\Excepcion
  */
 private function CargarKeys()
 {
     //Busca los certificados en la ruta enviada
     if (!file_exists($this->ApiCertificados . "CriptoPay_ApiCert_" . $this->ApiId . ".crt")) {
         Log::Debug("No se encuentra " . $this->ApiCertificados . "CriptoPay_ApiCert_" . $this->ApiId . ".crt");
         throw new Excepciones\Excepcion("Falta el certificado público");
         return false;
     }
     if (!file_exists($this->ApiCertificados . "CriptoPay_ApiKey_" . $this->ApiId . ".key")) {
         Log::Debug("No se encuentra " . $this->ApiCertificados . "CriptoPay_ApiCert_" . $this->ApiId . ".crt");
         throw new Excepciones\Excepcion("Falta el certificado privado");
         return false;
     }
     $fp = fopen($this->ApiCertificados . "CriptoPay_ApiCert_" . $this->ApiId . ".crt", "r");
     $pub_key = fread($fp, 8192);
     fclose($fp);
     self::$KeyPublica = openssl_get_publickey($pub_key);
     if (!self::$KeyPublica) {
         if (DEBUG) {
             throw new Excepciones\Excepcion("El certificado cliente es inválido");
         }
         return false;
     }
     $fp = fopen($this->ApiCertificados . "CriptoPay_ApiKey_" . $this->ApiId . ".key", "r");
     $priv_key = fread($fp, 8192);
     fclose($fp);
     self::$KeyPrivada = openssl_get_privatekey($priv_key, $this->ApiPassword);
     if (!self::$KeyPrivada) {
         if (DEBUG) {
             throw new Excepciones\Excepcion("El certificado privado o la clave es inválido");
         }
         return false;
     }
     return true;
 }
 public function __construct($message, $code = null, $previous = null)
 {
     Comun\Log::Critical($message);
     parent::__construct($message, $code, $previous);
 }