Index: prototipo/static/js/functions/firmarDocumentoPdf.js
===================================================================
--- prototipo/static/js/functions/firmarDocumentoPdf.js	(revision 445bdb460964204c9991908264c14f2a086887f4)
+++ prototipo/static/js/functions/firmarDocumentoPdf.js	(revision d5b455e627207910ee03d40dbd8df758e4ae4faf)
@@ -10,5 +10,157 @@
     console.log(formData);
     console.log($(this));
+
+    $.ajax({
+        //url: "https://192.168.12.125:8443/Murachi/0.1/archivos",                
+        url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos",
+        type: "post",
+        dataType: "json",
+        data: formData,
+        cache: false,
+        contentType: false,
+		processData: false,
+		headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+		success: function(response) {
+				//alert(JSON.stringify(response));
+				var html = manejoJsonPDF(JSON.stringify(response));
+				//alert(html);
+				//alert("ver respuesta")
+				document.getElementById("respuesta").innerHTML = html;
+				
+				// identificador del archivo en el servidor
+				var fileId = response.fileId.toString();
+
+
+				var cert;
+				window.hwcrypto.getCertificate({lang: "en"}).then(function(response) {
+			  		var cert = response;
+
+
+					
+					var parameters = JSON.stringify({
+						"fileId":fileId,
+						"certificate":cert.hex,
+						"reason":"Certificado",
+						"location":"CENDITEL",
+						"contact":"582746574336",
+						"signatureVisible":"true"
+						});
+					
+					// ahora llamar al ajax de obtener la resena del pdf
+					$.ajax({
+						type: 'POST',
+						contentType: 'application/json',				
+						//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs",
+						url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs",
+						dataType: "json",
+						data: parameters,		
+						headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+						success: function(data, textStatus, jqXHR){
+							var json_x = data;
+							var hash = json_x['hash']; 
+							//alert("hash recibido del servidor "+hash);
+							
+							var hashtype = "SHA-256";
+							var lang = "eng";
+							
+							window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(function(signature) {
+								
+
+
+				        		
+				        		$.ajax({
+									type: 'POST',
+									contentType: 'application/json',
+									//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs/resenas",
+									url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs/resenas",
+									dataType: 'json',
+									data: JSON.stringify({"signature":signature.hex}),
+									headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+									success: function(data, textStatus, jqXHR){
+
+										alert('Archivo firmado correctamente: ' + data['signedFileId']);
+										
+										
+										var linkToDownload = "<a href=\"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/descargas/" + data['signedFileId'] +"\">descargar archivo firmado</a>";
+										//alert(linkToDownload);
+										document.getElementById("respuesta").innerHTML = linkToDownload;  
+										
+
+																						
+										
+									},
+									error: function(jqXHR, textStatus, errorThrown){
+										alert('error en pdfs/resenas: ' + textStatus);
+										$("#respuesta").html("error en pdfs/resenas: " + textStatus);
+									}
+								});
+				        					        		
+				      			}, function(err) {
+					        		log_text("sign() failed: " + err);
+
+									var error;
+                                    log_text("sign() failed: " + err);
+                                    if(err == "Error: user_cancel") {
+                                        alert("sign() failed: El usuario cancelo la operación");
+                                        error = "El usuario cancelo la operación"; 
+                                     }      
+                                     else if(err == "Error: no_certificates") {
+                                         alert("sign() failed: No hay certificado disponible");
+                                         error = "No hay certificado disponible";
+                                     }
+                                     else if(err == "Error: no_implementation") {
+                                         alert("sign() failed: No hay soporte para el manejo del certificado");
+                                         error = "No hay soporte para el manejo del certificado";
+                                     }
+
+					        		//alert("sign() failed: " + err);
+					        		$("#respuesta").html("sign() failed: " + error);
+				    	  	});
+							
+						},								
+						error: function(jqXHR, textStatus, errorThrown){
+							//alert('error: ' + textStatus);
+							//var responseText = jQuery.parseJSON(jqXHR.responseText);
+							alert('ajax error function: ' + jqXHR.responseText);
+							$("#respuesta").html("error function: " + jqXHR.responseText);
+						}
+						
+				
+					});
+					
+					
+					
+				}, function(err) {
+		      			log_text("getCertificate() failed: " + err);
+                        var error;
+                        if(err == "Error: user_cancel") {
+                            alert("getCertificate() failed: El usuario cancelo la operación"    );
+                            error = "El usuario cancelo la operación"; 
+                         }      
+                         else if(err == "Error: no_certificates") {
+                             alert("getCertificate() failed: No hay certificado disponible")    ;
+                             error = "No hay certificado disponible";
+                         }
+                         else if(err == "Error: no_implementation") {
+                             alert("getCertificate() failed: No hay soporte para el manejo del certificado");
+                             error = "No hay soporte para el manejo del certificado";
+						}
+		      			//alert("getCertificate() failed: " + err);
+		      			$("#respuesta").html("getCertificate() failed: " + error);
+		    		});
+				
+				
+    	    },
+     		error: function(response) {
+     			//Que se ejecuta cuando finalice la petición de con error
+				$("#respuesta").html('Error...!!!');
+     			alert("ocurrio un error")
+			}
+    });
 	
-	
+
+
+
+
+
 });
