Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:applet_firma_digitale

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
documentazione_3di_riservata:docway4:applet_firma_digitale [2017/06/28 16:52] – [Integrazione] dprantedadocumentazione_3di_riservata:docway4:applet_firma_digitale [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1
Linea 1: Linea 1:
-====== 3DI APPLET FIRMA DIGITALE ====== 
  
-**Versione**: 4.0\\ 
-**Rilascio**: 28/06/2017\\ 
-**Compatibilità** con tutti i browser in seguito a conversione alla tecnologia JNLP.\\ 
- 
-===== Requisiti client ===== 
- 
-Per utilizzare l'applet di firma è necessario che sul client sia correttamente installato e collegato un dispositivo di firma digitale.  
- 
-Inoltre è necessario che sia installata una JRE che attraverso la funzionalità Java Web Start eseguirà l'applet. 
-===== Integrazione ===== 
- 
-Per integrare l'applet in un'applicazione web è necessario seguire i seguenti passaggi: 
-  - Creare una directory nella webapp accessibile dall'esterno e copiarvi le cartelle e il loro contenuto 
-     - jars 
-     - dependencies 
-     - jnlp 
- 
-  - Includere nel template dell'applicativo da cui si vuole lanciare l'applet la sezione html necessaria. 
-     - un esempio si può trovare nel file javaWebStartTest.html (vedi sezione tecnica successiva) 
-     - bisogna implementare il metodo closeFirma() per effettuare il reload del documento. 
- 
- 
-==== Integrazione - Aspetto Tecnico ==== 
- 
-Per avviare la generazione a RUN-TIME del file JNLP che consentirà l'avvio dell'applet di firma è necessario invocare la jsp **3disign.jsp** passando i vari parametri nella queryString. 
- 
-La costruzione dell'url è completamente automatizzata da uno script Javascript, bisogna solo effettuare il binding dei vari parametri presenti nelle input hidden con i valori del bean. 
- 
-<file> 
-<div> 
- <p> 
- Per firmare i documenti è necessario scaricare ed eseguire il file jnlp. 
- Al termine del processo premere sul pulsante 'chiudi' per ricaricare il documento. 
- </p> 
-  
- <button onclick="return closeFirma();">Chiudi</button> 
-  
- <a id="startApplet" style="display: none;" href="http://localhost:9080/3diSignatureAppletServlet/jnlp/3disign.jsp"></a> 
-  
- <input type="hidden" name="href" value="jnlp/3disign.jsp" /> 
- <input type="hidden" name="code" value="it.tredi.applet.signature.SignatureApplet.class" /> 
- <input type="hidden" name="archive" value="3disignapplet.jar" /> 
- <input type="hidden" name="jnlp_href" value="http://10.17.61.155:9080/3diSignatureAppletServlet/jnlp/3disign.jsp" /> 
- <input type="hidden" name="DownloadFilesServiceURL" value="http://10.17.61.155:9080/3diSignatureAppletServlet/servlet" /> 
- <input type="hidden" name="InputFile" value="http://10.17.61.155:9080/3diSignatureAppletServlet/tests/eXtraWayWebServices.pdf;http://10.17.61.155:9080/3diSignatureAppletServlet/tests/eXtraWayWebServices2.pdf" /> 
- <input type="hidden" name="FileNameURL" value="FileNameURL=eXtraWayWebServicesS.pdf;eXtraWayWebServices2S.pdf" /> 
- <input type="hidden" name="OutputFileType" value="p7m" /> 
- <input type="hidden" name="SendToServerURL" value="http://10.17.61.155:9080/3diSignatureAppletServlet/servlet?action=upload;http://10.17.61.155:9080/3diSignatureAppletServlet/servlet?action=upload" /> 
- <input type="hidden" id="3diSignatureAppletParamCookies" name="cookies" value="" /> 
- <input type="hidden" name="InputOutputFilesSeparator" value=";" /> 
-  
- <script type="text/javascript"> 
- /* gestire eventualmente i cookie dal document e non passati alle input da bean*/ 
- //document.querySelector('input[id="3diSignatureAppletParamCookies"]').value = document.cookie;  
-  
- /* JSF vuole &amp; come separatore dei campi nella queryString dell'URL */ 
- var paramSeparator = "&"; 
-  
- /* generalmente solo i parametri InputFile e SendToServerURL sono complessi da richiedere l'encoding 
- tuttavia dipende da come vengono passati dal bean 
- */ 
- var href = document.querySelector('#startApplet').href; 
- href += "?" 
- "code="+ document.querySelector('input[name="code"]').value + paramSeparator + 
- "archive=" document.querySelector('input[name="archive"]').value + paramSeparator + 
- "jnlp_href="+ document.querySelector('input[name="jnlp_href"]').value + paramSeparator + 
- "DownloadFilesServiceURL="+ document.querySelector('input[name="DownloadFilesServiceURL"]').value + paramSeparator + 
- "InputFile="+ encodeURIComponent(document.querySelector('input[name="InputFile"]').value) + paramSeparator + 
- "FileNameURL="+ document.querySelector('input[name="FileNameURL"]').value + paramSeparator + 
- "OutputFileType="+ document.querySelector('input[name="OutputFileType"]').value + paramSeparator + 
- "SendToServerURL="+ encodeURIComponent(document.querySelector('input[name="SendToServerURL"]').value) + paramSeparator + 
- "cookies="+ document.querySelector('input[name="cookies"]').value + paramSeparator + 
- //"debug="+ "true" + paramSeparator + 
- "InputOutputFilesSeparator="+ document.querySelector('input[name="InputOutputFilesSeparator"]').value; 
-  
- document.querySelector('#startApplet').href = href; 
- 
- /* decommentare per far partire il download del file in automatico al caricamento della pagina*/ 
- //startFirma(); 
-  
- function startFirma(){ 
- var href = document.querySelector("#startApplet").href; 
-     window.location.href = href;  
- } 
-  
- /* implementare il proprio meccanismo di reload del document a fine processo di firma 
- questa funzione viene richiamata dal tasto chiudi in alto*/ 
- function closeFirma() { 
- alert("TODO implement reload document") 
- return false; 
- } 
- </script> 
- </div> 
-</file> 
-===== Installazione dispositivi ===== 
-Durante la fase di installazione viene copiato un modulo (.dll su windows) che si occupa dell'interfacciamanto tra il dispositivo e i suoi driver. E' necessario verificare che tale modulo venga copiato correttamente e che non vada in conflitto con altre versioni precedenti. 
- 
-Le utlime smartcard (Aruba, InfoCert, ...) stanno distribuendo l'ultima implementazione del modulo **bit4xpki.dll**. 
-Tale modulo al momento sembra risolvere tutte le problematiche di compatibilità rilevate con i vari dispositivi "precedenti" che invece utilizzavano diverse implementazioni dei moduli //bit4opki.dll// e //bit4ipki.dll//. 
-===== Risoluzione problematiche comuni ===== 
/data/attic/documentazione_3di_riservata/docway4/applet_firma_digitale.1498661528.txt.gz · Ultima modifica: 2017/09/08 10:59 (modifica esterna)