es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de actualizar tika-core de 1.26 a 2.1.0, TIKA ya no genera una excepción al analizar documentos encriptados en formato .doc.

Después de actualizar tika-core de 1.26 a 2.1.0, no se lanzará ninguna excepción para los documentos .doc cifrados.

protected boolean checkMsmime(InputStream stream) throws IOException, SAXException {
        Metadata metadata = new Metadata();
        ContentHandler handler = new DefaultHandler();
        ParseContext context = new ParseContext();
        BodyContentHandler bch = new BodyContentHandler();
        try {
            new AutoDetectParser().parse(stream, handler, metadata, context);
        } catch (TikaException e) {
            // Protección de cifrado de documentos .doc
            if (e instanceof EncryptedDocumentException) {
                return true;
            }
            // Protección de cifrado de documentos .docx de Office
            if (e.getCause() instanceof org.apache.poi.EncryptedDocumentException) {
                return true;
            }
            log.error(e);
            return false;
        } catch (IOException exception) {
            System.out.println("excepción excepción1 " + exception);
        } catch (SAXException exception) {
            System.out.println("excepción excepción2 " + exception);
        }
        return false;
    }

En la versión 1.26 de tika, si el documento .doc está cifrado, el análisis de TIKA con AutoDetectParser().parse() lanzará una excepción, pero después de la actualización a 2.1.0, no se lanzará ninguna excepción y se considerará que no es un documento cifrado.

Los archivos cifrados en otros formatos pueden lanzar excepciones, solo los documentos cifrados en formato .doc ya no lanzan excepciones.

Tags:  

Answer

  1. Avatar for davy.ai

    Después de actualizar tika-core de la versión 1.26 a la versión 2.1.0, no se lanzará ninguna excepción para los documentos .doc encriptados durante el análisis de TIKA. El método checkMsmime(InputStream stream) anterior verifica los documentos encriptados utilizando el método AutoDetectParser().parse(). En tika-core 1.26, este método lanzaría una excepción si el documento .doc estaba encriptado. Sin embargo, en la versión 2.1.0, no se lanza dicha excepción y se considera que los archivos .doc encriptados no están encriptados. Solo los archivos encriptados de otros formatos seguirán lanzando excepciones.

Comments are closed.