tutti

Domanda

Ho un errore sull'applet durante il processo di firma digitale, cosa può essere?

Risposta

 cause di errore che conivolgono le smart-card durante la firma digitale dei documenti  sono, data la varietà di SmartCard e di lettori e le possibili configurazioni client, molteplici.

Questo documento aiuta l'utente a isolare i singoli problemi dando risposta ai casi più comuni / già segnalati.

Il docente/utente ha eseguito il test di firma ?

Se il docente non ha eseguito il test di firma consultare la pagina del Test di firma

Il docente non riesce ad eseguire il test di firma / il test di firma da errore

in questo caso la configurazione del client dell'utente non è compatibile con confirma oppure sono presenti delle condizioni che ne pregiudicano il funzionamento: qui sotto sono elencate una lista di condizioni comuni che fanno fallire il test di firma / la firma dei verbali, per effettuare i controlli nella popup di errore che fornisce l'applet di firma premere su dettagli e cercare lo stack trace tra quelli elencati

  • Nel pc del docente è presente un kit di altro produttore (di norma actalis) che interferisce con Confirma, questo errore è dato dal fatto che questo/questi KIT installano una vecchia versione della libreria generica di comunicazione con la smartcard (jpcsc.dll) nel path della virtual machine del computer. Confirma utilizza invece le librerie che vengono scaricate nella directory Confirma della home dell'utente, queste, per impostazione di sistema, vengono caricate dopo la libreria presente nella virtual machine.

    questa situazione provoca l'errore segnalato.

java.lang.NoSuchMethodError: com.linuxnet.jpcsc.PCSC.initializeLibrary(Ljava/lang/StringV

at cin.security.pcsc.JPCSCHandler.initializeLibrary(JPCSCHandler.java:33)

 at cin.security.pcsc.PCSCHandler.getInstance(PCSCHandler.java:54)

 at cin.security.p11.provider.P11Provider.initializePCSC(P11Provider.java:141)

 at cin.security.token.manager.PKCS11Manager.newInstance(PKCS11Manager.java:243)

 at cin.confirma.applet.SignerApplet$2.run(SignerApplet.java:382)

 at java.awt.event.InvocationEvent.dispatch(Unknown Source)

 at java.awt.EventQueue.dispatchEvent(Unknown Source)

 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

 at java.awt.EventDispatchThread.run(Unknown Source)

Soluzione:

 disinstallare il kit che interferisce con confirma

  • Le CRL sono necessarie per la validazione della firma di un documento elettronico, la normativa prevede di controllare in maniera stringente la data di fine validità di una CRL (che ha falidità oraria). Esse3, per motivi di performance, scarica le CRL nel database con frequenza sufficiente a garantirne la validità, nel caso ci fossero dei problemi di sincoronizzazione con l'ente certificatore la firma potrebbe fallire perchè le CRL non sono più valide con il seguente errore

cin.soap.SOAPFaultException: Internal Server Error []

at cin.soap.SOAPMessageProcessor.createSOAPFaultException(SOAPMessageProcessor.java:367)

at cin.soap.SOAPMessageProcessor.getSOAPMessageObject(SOAPMessageProcessor.java:257)

at cin.soap.SOAPMessageProcessor.getSOAPMessageObject(SOAPMessageProcessor.java:232)

at cin.soap.client.SOAPClientOperation.runConnection(SOAPClientOperation.java:649)

at cin.soap.client.SOAPClientOperation.access$1(SOAPClientOperation.java:568)

at cin.soap.client.SOAPClientOperation$1.run(SOAPClientOperation.java:496)

Per verificare se l'errore è di questo tipo, controllare la data di sincronizzazione delle CRL nella pagina di setup di confirma <sito_web_esse3>/admin/FirmaDigitale/ConfirmaSetup.do 

controllare se nel dettaglio della CRL la data di inserimento è minore di un'ora rispetto alla data di sistema

Nel caso non fosse cosi' occorre forzare manualmente il refresh delle CRL tramite l'apposita funzione evidenziata nella figura precedente

Soluzione 

Forzare il ricaricamento delle CRL tramite l'apposito link nella pagina di setup di confirma

  • Il test di firma / la firma di un lotto fallisce  con il seguente errore 

java.io.IOException: EstablishContext(): 0x8010001d, General error.

  at cin.security.pcsc.JPCSCHandler.getReader(JPCSCHandler.java:59)

Il problema è dovuto all'assenza o ad un installazione errata del lettore di smart card, magari ha anche solo perchè e stato cambiata la porta USB o aggiunto un HUB e il dispositivo non ha più sufficiente alimentazione.

Soluzione

Per risolvere il problema è possibile tentare di disinstallare il driver del lettore e, se è un modello che richiedeva l'installazione, e riinstallarlo, o provare con un altro lettore.

  • La firma fallisce con il seguente errore

java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file cin/confirma/applet/ConfirmaAppletLoader

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Eccezione: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file cin/confirma/applet/ConfirmaAppletLoader

Il problema è dovuto alla presenza nella cache di java di una versione dell'applet errata, normalmente questa cache si dovrebbe aggiornare quando il browser rileva una nuova versione dell'applet. In alcuni casi questo non succede.

Soluzione

Per risolvere il problema utilizzare la seguente procedura

  1. Chiudere tutte le finestre del browser in utilizzo
  2. Aprire il pannello di controllo, selezionare l'icona java
  3. nella finestra che compare, nel tab Generale premere il pulsante Impostazioni nella sezione File Temporanei Internet
  4. Eliminare tutti i file della cache
  5. Aprire il browser e resettare anche la cache del browser
  6. In alcuni rari casi può essere necessario reinstallare il plugin di java.
  • La firma fallisce con il seguente errore

java.lang.UnsatisfiedLinkError: /private/var/folders/cc/cce3pJTbG1OXuIf543Y7tk+++TI/-Tmp-/temp3895040597220900823jpcsc.jnilib:  no suitable image found. 

Did find:  /private/var/folders/cc/cce3pJTbG1OXuIf543Y7tk+++TI/-Tmp-/temp3895040597220900823jpcsc.jnilib: mach-o, but wrong architecture

Soluzione:

su MAC l'errore è dovuto al fatto che il browser sta girando in modalità 64 bit (nativa) occorre impostare il browser (Safari o Firefox 4 o superiori) in modalità 32bit con la seguente procedura:

  1. Aprire la cartella applicazioni
  2. Sulla icona del browser (Safari o Firefox) cliccare col tasto dx del mouser
  3. selezionare get info
  4. spuntare la voce "Apri in modalità 32bit"
  5. Chiudere e riaprire firefox o safari

Processo

Firma digitale e conservazione
tutti

FAQ Firma digitale e conservazione