Changeset 4c2406e in murachi


Ignore:
Timestamp:
Jul 2, 2015, 10:31:43 AM (9 years ago)
Author:
antonioaraujob <aaraujo@…>
Branches:
master
Children:
f18f7a5
Parents:
0f76179
Message:

Revisión del recurso /archivos/{idFile} para verificar la(s) firma(s) electrónica(s) del archivo pasado. Se retorna en un JSON toda la información asociada a firmas y archivo(s) firmado(s) de los formatos PDF y BDOC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • murachi/src/main/java/ve/gob/cenditel/murachi/MurachiRESTWS.java

    r0f76179 r4c2406e  
    290290         * @return archivo existente en el servidor y pasado como argumento
    291291         *
    292          * @api {get} /Murachi/0.1/archivos/descargas/id Descarga un archivo existente en el servidor
     292         * @api {get} /Murachi/0.1/archivos/descargas/id Descarga un archivo
     293         * @apidescription Descarga un archivo existente en el servidor
    293294         * @apiName Descargas
    294295         * @apiGroup Archivos
     
    543544        /**
    544545         * Verifica si un archivo posee firmas electronicas y retorna informacion
    545          * de las mismas en un json
     546         * de las mismas en un json.
     547         *
    546548         * @param idFile identificador del archivo a verificar
    547549         * @return JSON con informacion de las firmas
    548550         * @throws MurachiException
     551         *
     552         * @api {get} /Murachi/0.1/archivos/id Verifica un archivo
     553         * @apiName Verifica
     554         * @apiGroup Archivos
     555         * @apiVersion 0.1.0
     556         * @apiDescription Verificar el archivo y retorna un json con la información de las firma(s) electrónica(s)
     557         * en caso de estar firmado.
     558         *
     559         *
     560         * @apiSuccess {String} fileId Identificador único del archivo en el servidor
     561         * @apiSuccess {Boolean} fileExist El archivo se cargó exitosamente en el servidor.
     562         * @apiSuccess {String} mimeType Tipo MIME del archivo verificado.
     563         * @apiSuccess {String} error Extension not supported. En caso de que el archivo sea diferente de PDF y BDOC.
     564         *
     565         * @apiSuccess {Number} numberOfSignatures Número de firmas existentes en el archivo.
     566         * @apiSuccess {Object[]} signatures Lista de firmas.
     567         * @apiSuccess {String}   signatures.signatureType Tipo de firma de archivo PDF: approval
     568         * @apiSuccess {String}   signatures.signedOn Fecha en que se realiza la firma.
     569         * @apiSuccess {Boolean}   signatures.integrityCheck Chequea la integridad de la firma.
     570         * @apiSuccess {String}   signatures.timeStamp Estampilla de tiempo
     571         * @apiSuccess {String}   signatures.reason Razón de la firma.
     572         * @apiSuccess {String}   signatures.location Ubicación donde se realiza la firma.
     573         * @apiSuccess {String}   signatures.alternativeNameOfTheSigner Nombre alternativo del firmante.
     574         * @apiSuccess {String}   signatures.signerCertificateValidFrom Fecha de inicio de validez del certificado.
     575         * @apiSuccess {Boolean}   signatures.signerCertificateStillValid El certificado todavía está válido.
     576         * @apiSuccess {Boolean}   signatures.signerCertificateHasExpired El certificado expiró.
     577         * @apiSuccess {Boolean}   signatures.signatureCoversWholeDocument La firma abarca todo el documento PDF.
     578         * @apiSuccess {String}   signatures.filterSubtype Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached.
     579         * @apiSuccess {String}   signatures.signerCertificateSubject Sujeto firmante.
     580         * @apiSuccess {Boolean}   signatures.signerCertificateValidAtTimeOfSigning El certificado es válido en el momento de la firma.
     581         * @apiSuccess {String}   signatures.encryptionAlgorithm Algoritmo de cifrado.
     582         * @apiSuccess {String}   signatures.timeStampService Servicio de estampillado de tiempo.
     583         * @apiSuccess {String}   signatures.digestAlgorithm Algoritmo hash (reseña).
     584         * @apiSuccess {Boolean}   signatures.certificatesVerifiedAgainstTheKeyStore Certificado verificado contra el repositorio de certificados confiables.
     585         * @apiSuccess {Number}   signatures.documentRevision Número de revisión del documento PDF.
     586         * @apiSuccess {String}   signatures.nameOfTheSigner Nombre del firmante.
     587         * @apiSuccess {Number}   signatures.totalDocumentRevisions Número total de revisiones del documento PDF.
     588         * @apiSuccess {String}   signatures.contactInfo Información de contacto del firmante.
     589         * @apiSuccess {Boolean}   signatures.timeStampVerified Estampilla de tiempo verificada.
     590         * @apiSuccess {String}   signatures.signerCertificateIssuer Emisor del certificado firmante.
     591         * @apiSuccess {String}   signatures.signerCertificateValidTo Fecha de fin de validez del certificado.
     592         * @apiSuccess {String} signatures.signerCertificateSerial BDOC: Serial del certificado del firmante.
     593         * @apiSuccess {String} signatures.signatureProfile BDOC: Perfil de la firma.
     594         * @apiSuccess {String} signatures.signatureMethod BDOC: Algoritmo de firma utilizado.
     595         * @apiSuccess {String} signatures.signatureId BDOC: identificador de la firma.
     596         * @apiSuccess {String} signatures.signatureSigningTime BDOC: Hora y fecha en que se realiza la firma.
     597         * @apiSuccess {Boolean} signatures.signerCertificateIsValid BDOC: El certificado firmante es válido.
     598         * @apiSuccess {String} signatures.signerCertificateIssuer BDOC: Emisor del certificado firmante.
     599         * @apiSuccess {String} signatures.signatureValidationException BDOC: Exepciones de la validación de la firma.
     600         * @apiSuccess {String} signatures.isValid BDOC: Firma electrónica válida.
     601         * @apiSuccess {String} signatures.signerCertificateSubjectName BDOC: Nombre del sujeto firmante.
     602         *
     603         * @apiSuccess {Boolean}   containerValidation BDOC: Especifica si el contenedor posee una estructura válida. 
     604         * @apiSuccess {Number}   numberOfDataFiles BDOC: Cantidad de archivos incluidos en el contenedor BDOC.
     605         * @apiSuccess {Object[]} dataFiles BDOC: Lista de archivos incluidos en el contenedor.
     606         * @apiSuccess {String} dataFiles.name BDOC: Nombre del archivo incluido en el contenedor.
     607         * @apiSuccess {String} dataFiles.dataFileSize BDOC: Tamaño del archivo incluido en el contenedor.
     608         * @apiSuccess {String} dataFiles.filename BDOC: Nombre del archivo incluido en el contenedor.
     609         * @apiSuccess {String} dataFiles.mediaType BDOC: Tipo MIME del archivo incluido en el contenedor.
     610         * @apiSuccess {Object[]} signatures BDOC: Lista de firmas del contenedor BDOC
     611         * 
     612         *
     613         * @apiExample Example usage:
     614     * curl -i http://murachi.cenditel.gob.ve/Murachi/0.1/archivos/id
     615         *
     616         * @apiErrorExample {json} Error-Response:
     617         *     HTTP/1.1 404 Bad Request
     618         *     {
     619         *       "fileExist": "false"
     620         *     }
     621         *
    549622         */
    550623        @GET
     
    565638                        System.out.println("File : " + file + " does not exists.");
    566639                        jsonObject.put("fileExist", "false");
    567                         logger.debug("fileExist: false");
     640                        logger.error("fileExist: false");
     641                       
     642                        return Response.status(404).entity(jsonObject.toString()).build();
    568643                       
    569644                }else{
     
    590665                                jsonObject.put("fileExist", "true");
    591666                                jsonObject.put("error", "extension not supported");
    592                                 logger.debug("error: extension not supported");
     667                                logger.error("error: extension not supported");
     668                                //return Response.status(500).entity(jsonObject.toString()).build();
    593669                        }
    594670                }
    595671                String result = jsonObject.toString();
    596                 logger.info("/{"+idFile+"}: result");
     672                logger.info("/{"+idFile+"}: "+ result);
    597673                return Response.status(200).entity(result).build();
    598674                               
     
    13621438        /**
    13631439         * Ejecuta el proceso de postsign o completacion de firma de documento pdf
     1440         *
    13641441         * @param postsignPar JSON con los parametros de postsign: signature realizada a partir
    13651442         * del hardware criptografico en el navegador.
     
    21902267                               
    21912268                                df.saveAs("/tmp/extraido.jpg");
    2192                                 logger.debug("obtenido DataFile: /tmp/extraido.jpg");
     2269                                logger.debug("escrito DataFile: /tmp/extraido.jpg");
    21932270                               
    21942271                                File fileToDownload = new File("/tmp/extraido.jpg");
Note: See TracChangeset for help on using the changeset viewer.