Applies ToExcel per Microsoft 365 Word per Microsoft 365 Outlook per Microsoft 365 PowerPoint per Microsoft 365 Publisher per Microsoft 365 Visio - Piano 2 Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Publisher 2021 Visio Professional 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professional 2016 Visio Standard 2016 Visio Professional 2013

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

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 di Visual Basic Editor al server dell'indicatore data e ora prima dell'errore. (Facoltativo: se non viene impostato, Visual Basic Editor tenterà di contattare il server una sola volta)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

Il numero di secondi (in millisecondi) in 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 indicatore di data e ora 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.