Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Questo articolo descrive come firmare digitalmente un progetto macro in Windows usando un certificato. Se non si ha già un certificato digitale, è necessario otrne uno.

Suggerimento: Per usare o testare progetti macro nel computer, è possibile creare un certificato autofirma usando lo strumento Selfcert.exe. Di seguito sono riportati altri dettagli.

Ottenere un certificato digitale

È possibile ottenere un certificato digitale da un'autorità di certificazione (CA) commerciale, dall'amministratore della sicurezza interna o da un professionista IT.

Per altre informazioni sulle autorità di certificazione che offrono servizi per i prodotti Microsoft, vedere l'elenco dei membri del programma Microsoft Root Certificate.

Poiché un certificato digitale creato da un utente non viene rilasciato da un'autorità di certificazione formale attendibile, i progetti macro firmati usando un certificato di questo tipo vengono considerati progetti autofirmati. Microsoft Office considera attendibile un certificato autofirmato solo se tale certificato è stato aggiunto alla cartella Autorità di certificazione radice attendibili nell'archivio Certificati - Utente corrente. In questo modo è utile per testare o usare il proprio computer o un numero molto ridotto di computer gestiti, ma non è molto utile per la distribuzione di progetti macro ad altre persone.

Creare un certificato autofirmato

  1. Passare a C:\Programmi (x86)\Microsoft Office\root\Office16.

    Suggerimento: Se non è presente in questa cartella, provare C:\Programmi\Microsoft Office\root\Office16

  2. Fare clic su SelfCert.exe. Viene visualizzata la finestra di dialogo Crea certificato digitale.

  3. Nella casella Nome certificato digitare un nome descrittivo per il certificato.

  4. Fare clic su OK.

  5. Quando viene visualizzato il messaggio SelfCert eseguito, fare clic su OK.

  1. Passare a C:\Programmi\Microsoft Office\<versione di Office>\.

  2. Fare clic su SelfCert.exe. Viene visualizzata la finestra di dialogo Crea certificato digitale.

  3. Nella casella Nome certificato digitare un nome descrittivo per il certificato.

  4. Fare clic su OK.

  5. Quando viene visualizzato il messaggio SelfCert eseguito, fare clic su OK.

Visualizzare il certificato nell'archivio certificati personali

  1. Apri Microsoft Edge.

  2. Immettere edge://settings/privacy nella barra degli indirizzi.

  3. Scorrere verso il basso fino alla sezione Sicurezza e selezionare Gestisci certificati.

Firmare digitalmente un progetto macro VBA in Excel, PowerPoint, Publisher, Visio, Outlook o Word

  1. Aprire il file contenente il progetto macro che si desidera firmare.

  2. Nel gruppo Codice della scheda Sviluppo fare clic su Visual Basic.

    Nota: Se la scheda Sviluppo non è disponibile, fare clic sulla scheda File. Fare clic su Opzioni. Fare clic su Personalizza barra multifunzione. Nell'elenco Personalizza barra multifunzione selezionare Sviluppo e quindi fare clic su OK.

  3. In Visual Basic scegliere Firma digitale dal menu Strumenti.

  4. Verrà visualizzata la finestra di dialogo Firma digitale.

  5. Selezionare un certificato e fare clic su OK.

    Nota: Se non è stato selezionato alcun certificato digitale o si desidera utilizzarne un altro, fare clic su Scegli. Selezionare il certificato e fare clic su OK.

Aggiungere un indicatore di data e ora alla firma

Quando gli utenti eseguono la macro VBA, Office controlla la firma e il certificato con cui è stata firmata. Se si aggiunge un indicatore di data e ora alla firma, la macro verrà considerata come firmata, anche dopo la scadenza del certificato, purché il certificato non venga revocato. Ciò può ridurre il disservizio per gli utenti.

Un certificato semplicemente scaduto può comunque essere usato per convalidare il codice, ma non può essere usato per firmare nuovo codice.

Per aggiungere un indicatore di data e ora è necessario aggiungere tre chiavi al Registro di sistema.

Attenzione:  La modifica non corretta del Registro di sistema può provocare seri danni al sistema. Prima di apportare modifiche al Registro di sistema, è consigliabile eseguire il backup di tutti i dati importanti nel computer.

Tasto

Tipo

Descrizione

HKCU\Software\Microsoft\VBA\Security\TimeStampURL

REG_SZ 

URL del server di timestamp preferito. (Obbligatorio)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount

REG_DWORD

Numero di tentativi di connessione al server dell'indicatore data e ora da parte di Visual Basic Editor prima dell'errore. (Facoltativo: se non viene impostato, visual Basic Editor proverà a contattare il server una sola volta)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

Il numero di secondi (in millisecondi) che visual Basic Editor attenderà tra un nuovo tentativo di connessione al server dell'indicatore data e ora. (Facoltativo - Se non imposti questa opzione, non ci saranno ritardi tra i tentativi)

Dopo aver aggiunto una voce TimeStampURL funzionante, Visual Basic Editor aggiungerà automaticamente un timestamp ogni volta che si firma digitalmente una macro.

Note aggiuntive

  • È consigliabile firmare le macro solo dopo che la soluzione è stata testata e pronta per la distribuzione: quando il codice in una macro firmata viene modificato in qualsiasi modo, la firma digitale viene rimossa. Se però si ha il certificato digitale valido usato in precedenza per firmare il progetto nel computer in uso, il progetto macro viene automaticamente firmato di nuovo al momento del salvataggio.

  • Un modo per impedire agli utenti di modificare accidentalmente il progetto macro e invalidare la firma consiste nel bloccare il progetto macro prima di applicare la firma. La firma digitale garantisce che il progetto non sia stato manomesso da quando è stato firmato, ma non dimostra che il progetto è stato scritto. Anche se il progetto macro è stato bloccato, un altro utente potrebbe comunque essere in grado di sostituire la firma con un'altra firma. Gli amministratori aziendali possono anche firmare di nuovo i modelli e i componenti aggiuntivi per assicurarsi che solo il contenuto approvato venga eseguito nei computer aziendali.

  • Se si crea un componente aggiuntivo che consente di aggiungere codice a un progetto macro, il codice deve essere in grado di stabilire se il progetto contiene una firma digitale e avvisare gli utenti delle conseguenze derivanti dalla modifica di un progetto firmato prima che procedano.

  • Gli utenti che utilizzano certificati commerciali possono riscontrare blocchi a causa della limitazione degli algoritmi hash supportati nella firma. È possibile aggiungere un valore di chiave del Registro di sistema DWORD V1HashEnhanced per scegliere un altro algoritmo hash, in HKCU\SOFTWARE\Microsoft\VBA\Security con regole dell'algoritmo di valore (1 a SHA1, 2 a SHA256, 3 a SHA384, 4 a SHA512 e altri a MD5). Questa impostazione è disponibile nelle versioni più recenti del canale CC.

Altre informazioni

Abilitare o disabilitare le macro nei file di Microsoft 365

Nota: Questo articolo è stato creato da una persona con l'assistenza di un'intelligenza artificiale (Al).

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×