Rallentamento all'avvio di SIGLA versione 4

Da SIGLAkb.
Versione del 11 apr 2013 alle 17:30 di Paolo (Discussione)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Dp-ingranaggio3.png Gli eseguibili e le librerie a link dinamico (DLL) distribuiti nel pacchetto SIGLA Ultimate®/Start Edition® sono firmati con certificato digitale così come richiesto dalle disposizioni di Microsoft® per i programmi di certificazione e compatibilità con i suoi più recenti sistemi operativi (Windows Vista e Windows 7).

L'avvio di SIGLA® potrebbe però, nel caso descritto di seguito, risultare rallentato proprio per l'impiego di alcuni assembly .Net firmati con certificato digitale.

Descrizione

Quando il Common Language Runtime (CLR) del framework .Net carica un assembly firmato con un certificato digitale ne deve verificare la firma. Questa operazione può richiedere tempo dal momento che il sistema deve accedere ripetutamente alla rete.
Parte del processo di verifica richiede, infatti, il download della lista dei certificati revocati (Certificate Revocation List, CRL) che permette a Windows di verificare se il certificato digitale con il quale è stato firmato l'assembly è stato revocato e non è più valido. Il CLR .Net scarica tale lista dal server dell'ente che ha emesso il certificato la prima volta che l'assembly firmato digitalmente viene caricato e la memorizza in un'apposita cache del sistema.

Un ritardo nell'avvio dell'applicazione avviene quando Windows non riesce ad eseguire il download della lista dei certificati revocati, ad esempio perché manca la connessione di rete, e continua a provare fino al superamento del timeout.

Il CLR .Net non mostra alcun errore o eccezione quando non riesce ad ottenere la lista dei certificati revocati e trascorso il timeout, carica ugualmente l'assembly .Net, ma non lo considera firmato digitalmente (evento che può avere impatto sulle policy di sicurezza).

Questo comportamento è stabilito dai criteri di progettazione/implementazione del framework .Net.

Soluzioni

Sebbene sia possibile scaricare manualmente la lista dei certificati revocati ed installarla nel proprio sistema, la validità della lista stessa è limitata nel tempo (10-15 giorni) e si tornerebbe, pertanto, alla situazione iniziale nel momento in cui Windows prova ad aggiornare la lista. Un modo per aggirare questo comportamento sarebbe quello di disattivare il controllo della lista dei certificati revocati attraverso l'applet del Pannello di Controllo:/Opzioni Internet:

  1. selezionare Start>Pannello di Controllo (Start>Control Panel)
  2. doppio click sulla voce Opzioni Internet (Internet Options)
  3. selezionare la scheda Avanzate (Advanced)
  4. nella sezione Protezione (Security) deselezionare l'opzione Verifica revoca dei certificati dell'autore (Check for publisher's certificate revocation).

Nel caso di SIGLA Ultimate®/Start Edition® sono disponibili anche versioni non firmate digitalmente degli assembly .Net distribuiti nel pacchetto.
Sostituendo le versioni standard con quelle non firmate è possibile aggirare questo inconveniente senza apportare modifiche al sistema. Naturalmente, in questo caso, nel momento in cui si effettua un aggiornamento di SIGLA® sarà necessario verificare manualmente se aggiornare anche la versione non firmata delle DLL.

Dp-acceptn72x72.png Nella sezione Utilità dell'area riservata ai rivenditori del sito Deltaphi è disponibile per il download un file compresso in formato zip contenente le suddette DLL prive di firma digitale.

Bibliografia