Changes between Version 8 and Version 9 of actividades_2018_pruebas
- Timestamp:
- May 30, 2018, 4:55:05 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
actividades_2018_pruebas
v8 v9 6 6 7 7 [[Image(secuencia_Firma.png)]] 8 9 8 10 9 Como se puede observar en el diagrama de secuencia del lado del cliente se van a realizar 3 procesos: … … 35 34 '''Código del formulario HTML:''' 36 35 37 ---- 38 36 {{{ 39 37 || <form enctype="multipart/form-data" method="post" id="firmar" name="SignFormat">[[BR]] 40 38 … … 62 60 <br> 63 61 <div id="seccion4"> </div> 64 || 65 ---- 62 }}} 66 63 67 64 [[BR]] … … 73 70 '''Código del formulario HTML:''' [[BR]] 74 71 75 ---- 76 || <div>[[BR]] 72 {{{ 73 <div> 77 74 78 75 <label for="pfx">Seleccione el archivo PFX / P12::</label><br>[[BR]] … … 85 82 86 83 </div> 87 || 88 ---- 84 }}} 85 89 86 [[BR]] 90 87 91 88 Ahora vamos a necesitar una función en javascript que me permita usar la librería Forge para cargar y acceder al archivo .p12 o .pfx y obtener la información necesaria para realizar el proceso de firma electrónica.[[BR]] 92 89 93 '''Función getCertificate(e)'''[[BR]] 94 95 96 ---- 97 || function getCertificate(e) 90 [[BR]] 91 92 '''Función getCertificate(e)''' 93 94 {{{ 95 function getCertificate(e) 98 96 { 99 97 console.log("*... getCertificate ...*");[[BR]] … … 178 176 }[[BR]] 179 177 180 || 178 }}} 179 181 180 ---- 182 181 [[BR]] 182 183 183 Con esta función obtenemos la clave privada almacenada en la variable privateKey y el certificado almacenado en la variable certBytesHex. 184 184 … … 186 186 [[BR]] 187 187 188 ---- 189 || function arrayBufferToString( buffer ) [[BR]] 188 {{{ 189 190 function arrayBufferToString( buffer ) [[BR]] 190 191 191 192 { … … 205 206 206 207 } 207 || 208 ---- 208 }}} 209 209 210 210 [[BR]] … … 226 226 Código de la función javaScript "SignFilePDF()" sección 1 227 227 228 ---- 229 ||function SignFilePDF() {[[BR]]228 {{{ 229 function SignFilePDF() {[[BR]] 230 230 231 231 //cargar el archivo .p12[[BR]] … … 272 272 273 273 )} 274 || 274 }}} 275 276 [[BR]] 277 278 La repuesta de esta sección se procesa por el método .done a través del argumento response donde podemos acceder al valor del JSON con la función JSON.stringify. 279 280 '''Código completo de la sección 1:''' 281 [[BR]] 282 275 283 ---- 276 277 [[BR]] 278 279 La repuesta de esta sección se procesa por el método .done a través del argumento response donde podemos acceder al valor del JSON con la función JSON.stringify. 280 281 '''Código completo de la sección 1:''' 282 [[BR]] 283 284 ---- 285 || <!doctype html>[[BR]] 284 {{{ 285 <!doctype html>[[BR]] 286 286 287 287 <html>[[BR]] … … 391 391 )}[[BR]] 392 392 393 || 394 ---- 393 }}} 395 394 396 395 [[BR]] … … 413 412 414 413 415 ---- 416 || 417 414 {{{ 418 415 document.getElementById("seccion1").innerHTML = responseString; [[BR]] 419 416 var fileId = response.fileId.toString();[[BR]] … … 445 442 }[[BR]] 446 443 )}[[BR]] 447 || 444 }}} 448 445 ---- 449 446 … … 453 450 454 451 455 ---- 456 || 457 452 {{{ 458 453 <!doctype html> [[BR]] 459 454 <html>[[BR]] … … 584 579 }[[BR]] 585 580 )}[[BR]] 586 || 587 ---- 581 }}} 588 582 589 583 … … 593 587 594 588 ''' 595 Sección 3: Completar la firma del archivo'''[[BR]] 596 589 Sección 3: Completar la firma del archivo''' 590 591 [[BR]] 597 592 598 593 En esta sección se firma el hash del documento a firmar con el certificado firmante almacenado en el archivo .p12 o .pfx. En tal sentido partimos desde el resultado que obtuvimos en la sección 2 (el valor del hash del archivo pdf).