1 | /** Funcion para el manejo de un archivo json |
---|
2 | * Recibe el json (verificación de una firma pdf), lo introduce en una tabla y devuelve una un cadena de texto. |
---|
3 | */ |
---|
4 | function manejoJsonPDF(json) { |
---|
5 | var fielJsonEs = { |
---|
6 | fileId: "Identificador único del archivo en el servidor", |
---|
7 | fileExist:"El archivo se cargó exitosamente en el servidor", |
---|
8 | mimeType:"Tipo MIME del archivo verificado", |
---|
9 | error:"Extension not supported. En caso de que el archivo sea diferente de PDF y BDOC", |
---|
10 | numberOfSignatures:"Número de firmas existentes en el archivo", |
---|
11 | signatures:"Lista de firmas", |
---|
12 | signatureType:"Tipo de firma de archivo PDF", |
---|
13 | signedOn:"Fecha en que se realiza la firma", |
---|
14 | integrityCheck:"Chequea la integridad de la firma", |
---|
15 | timeStamp:"Estampilla de tiempo", |
---|
16 | reason:"Razón de la firma", |
---|
17 | location:"Ubicación donde se realiza la firma", |
---|
18 | alternativeNameOfTheSigner:"Nombre alternativo del firmante", |
---|
19 | signerCertificateValidFrom:"Fecha de inicio de validez del certificado", |
---|
20 | signerCertificateStillValid:"El certificado todavía está válido", |
---|
21 | signerCertificateHasExpired:"El certificado expiró", |
---|
22 | signatureCoversWholeDocument:"La firma abarca todo el documento PDF", |
---|
23 | filterSubtype:"Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached", |
---|
24 | signerCertificateSubject:"Sujeto firmante", |
---|
25 | signerCertificateValidAtTimeOfSigning:"El certificado es válido en el momento de la firma", |
---|
26 | encryptionAlgorithm:"Algoritmo de cifrado", |
---|
27 | timeStampService:"Servicio de estampillado de tiempo", |
---|
28 | digestAlgorithm:"Algoritmo hash (reseña)", |
---|
29 | certificatesVerifiedAgainstTheKeyStore:"Certificado verificado contra el repositorio de certificados confiables", |
---|
30 | documentRevision:"Número de revisión del documento PDF", |
---|
31 | nameOfTheSigner:"Nombre del firmante", |
---|
32 | totalDocumentRevisions:"Número total de revisiones del documento PDF", |
---|
33 | contactInfo:"Información de contacto del firmante", |
---|
34 | timeStampVerified:"Estampilla de tiempo verificada", |
---|
35 | signerCertificateIssuer:"Emisor del certificado firmante", |
---|
36 | signerCertificateValidTo:"Fecha de fin de validez del certificado", |
---|
37 | signerCertificateSerial:"BDOC: Serial del certificado del firmante", |
---|
38 | signatureProfile:"BDOC: Perfil de la firma", |
---|
39 | signatureMethod:"BDOC: Algoritmo de firma utilizado", |
---|
40 | signatureId:"BDOC: identificador de la firma", |
---|
41 | signatureSigningTime:"Fecha en que se realiza la firma", |
---|
42 | signerCertificateIsValid:"El certificado todavía está válido", |
---|
43 | signatureValidationException:"BDOC: Exepciones de la validación de la firma", |
---|
44 | isValid:"BDOC: Firma electrónica válida", |
---|
45 | signerCertificateSubjectName:"Nombre del firmante", |
---|
46 | containerValidation:"BDOC: Especifica si el contenedor posee una estructura válida", |
---|
47 | numberOfDataFiles:"BDOC: Cantidad de archivos incluidos en el contenedor BDOC", |
---|
48 | dataFiles:"BDOC: Lista de archivos incluidos en el contenedor", |
---|
49 | name:"BDOC: Nombre del archivo incluido en el contenedor", |
---|
50 | dataFileSize:"BDOC: Tamaño del archivo incluido en el contenedor", |
---|
51 | filename:"BDOC: Nombre del archivo incluido en el contenedor", |
---|
52 | mediaType:"BDOC: Tipo MIME del archivo incluido en el contenedor" |
---|
53 | }; |
---|
54 | var objVarVerifique = JSON.parse(json); |
---|
55 | var signatures = ''; //variable que maneja las firmas |
---|
56 | var fields = ''; //variable que maneja los campos de la firma |
---|
57 | var title = '<h2> Información de la firma electronica </h2> \n '; |
---|
58 | var head = '<div class=\'container\'> \n <table id=\' \' class=\'display table table-striped table-bordered\' cellspacing=\'0\' width=\'100%\' > \n <thead> \n <tr>\n <th>#</th>\n <th>Campo</th>\n <th>Descripción</th> \n </tr>\n </thead>\n <tbody> \n'; |
---|
59 | var footer = '</tbody> \n </table> \n </div> \n </div>'; |
---|
60 | var html = title; |
---|
61 | var numsign = 0; |
---|
62 | var htmltemp = ''; |
---|
63 | var objxEsp = ''; |
---|
64 | |
---|
65 | $.each(objVarVerifique, function(idx, obj) { |
---|
66 | |
---|
67 | if (idx == "error") { |
---|
68 | html = '<h4> Extensión no soportada, verifique el archivo </h4>'; |
---|
69 | return(html); |
---|
70 | } |
---|
71 | |
---|
72 | if (idx == "numberOfSignatures") { |
---|
73 | numsign = obj; |
---|
74 | html += '<h4>' + fielJsonEs[idx] + ': ' + obj +' </h4>\n <br><br>'; |
---|
75 | } |
---|
76 | |
---|
77 | if (idx == "signatures") { |
---|
78 | signatures = obj; //se almacena la(s) cabecera(s) de las firmas |
---|
79 | } |
---|
80 | }); |
---|
81 | |
---|
82 | var contsing = 1; // variable que indica la firma donde esta posicionado |
---|
83 | |
---|
84 | // recorre las firmas signatures |
---|
85 | |
---|
86 | $.each(signatures, function(idx, obj) { |
---|
87 | html += '<h4> Información de la firma: '+contsing+'<h4> \n'; |
---|
88 | html += head; |
---|
89 | |
---|
90 | // variable que indica el campo de la firma -- arranca en el campo 6 porque necesitamos que muestre de primero |
---|
91 | // las 5 campos requeridos |
---|
92 | var contfiels = 8; |
---|
93 | |
---|
94 | fields = obj; // variable que almacena los campos de la firma |
---|
95 | $.each(fields, function(id, objx) { |
---|
96 | // Recorreo los campos de la firma |
---|
97 | if(fielJsonEs[id]=='Nombre del firmante') { |
---|
98 | html += '<tr>\n<td>'+'1'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objx +' </td>\n</tr>\n'; |
---|
99 | } |
---|
100 | else if(fielJsonEs[id]=='Fecha en que se realiza la firma') { |
---|
101 | html += '<tr>\n<td>'+'2'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objx +'</td>\n</tr>\n'; |
---|
102 | } |
---|
103 | else if(fielJsonEs[id]=='Chequea la integridad de la firma') { |
---|
104 | if(objx == 'true') { |
---|
105 | objxEsp = 'verdadero'; |
---|
106 | } else { |
---|
107 | objxEsp='falso'; |
---|
108 | } |
---|
109 | html += '<tr>\n<td>'+'3'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objxEsp +'</td>\n</tr>\n'; |
---|
110 | } |
---|
111 | else if(fielJsonEs[id]=='El certificado todavía está válido') { |
---|
112 | if(objx == 'true') { |
---|
113 | objxEsp = 'verdadero'; |
---|
114 | } else { |
---|
115 | objxEsp='falso'; |
---|
116 | } |
---|
117 | html += '<tr>\n<td>'+'4'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objxEsp +'</td>\n</tr>\n'; |
---|
118 | } |
---|
119 | else if(fielJsonEs[id]=='Fecha de inicio de validez del certificado') { |
---|
120 | html += '<tr>\n<td>'+'5'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objx +' </td>\n</tr>\n'; |
---|
121 | } |
---|
122 | else if(fielJsonEs[id]=='Fecha de fin de validez del certificado') { |
---|
123 | html += '<tr>\n<td>'+'6'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objx +' </td>\n</tr>\n'; |
---|
124 | } |
---|
125 | else if(fielJsonEs[id]=='El certificado es válido en el momento de la firma') { |
---|
126 | if(objx == 'true') { |
---|
127 | objxEsp = 'verdadero'; |
---|
128 | } else { |
---|
129 | objxEsp='falso'; |
---|
130 | } |
---|
131 | html += '<tr>\n<td>'+'7'+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objxEsp +'</td>\n</tr>\n'; |
---|
132 | } else { |
---|
133 | if(objx == 'true' ) { |
---|
134 | htmltemp += '<tr>\n<td>'+contfiels+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + 'verdadero' +' </td>\n</tr>\n'; |
---|
135 | } else if(objx == 'false'){ |
---|
136 | htmltemp += '<tr>\n<td>'+contfiels+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + 'falso' +' </td>\n</tr>\n'; |
---|
137 | } else { |
---|
138 | htmltemp += '<tr>\n<td>'+contfiels+'</td>\n<td>' + fielJsonEs[id] + '</td>\n<td>' + objx +' </td>\n</tr>\n'; |
---|
139 | } |
---|
140 | contfiels++; |
---|
141 | } |
---|
142 | }); |
---|
143 | |
---|
144 | contsing++; |
---|
145 | html += htmltemp; |
---|
146 | htmltemp = ''; |
---|
147 | html += footer; |
---|
148 | }); |
---|
149 | return(html); |
---|
150 | } |
---|