Přeskočit na obsah

Firma con KeyLocker cloud HSM

Questo articolo ti insegnerà a firmare utilizzando il cloud e KeyLocker HSM. La guida è rilevante per tutte le piattaforme e diversi strumenti di firma - da signtool a jarsigner. Le informazioni fornite sono anche la base per firmare utilizzando il Software Trust Manager di DigiCert ONE; il principio della firma è valido per entrambi i servizi.

Compatibilità di KeyLocker

Sicuramente prima di provare KeyLocker ti chiederai se potrà essere utilizzato nel tuo workflow e se funzionerà per te. KeyLocker e le librerie correlate supportano (così come il Software Trust Manager in DC1) strumenti di firma di terze parti. Sul sito web di DigiCert troverai nell'articolo Integrazione con strumenti di firma una panoramica completa dei formati di file che puoi firmare con strumenti compatibili utilizzando KeyLocker.

Qui menziono solo il più diffuso Signtool nelle versioni a 32 e 64 bit:

  • SignTool (32-bit): .doc, .docm, .dot, .dotm, .msi, .cab, .exe, .dll, .mpp, .mpt, .pot, .potm, .ppa, .ppam, .pps, .ppsm, .ppt, .pptm, .pub, .vdw*, .vdx*, .vsd*, .vsdm, .vss*, .vssm, .vst*, .vstm, .vsx*, .vtx*, .wiz*, .xla, .xlam, .xls, .xlsb, .xlsm, .xlt, .xltm
  • SignTool (64-bit): .appx, .appxbundle, .arx, .cab, .cat, .cbx, .cpl, .crx, .dbx, .deploy, .dll, .drx, .efi, .exe, .js, .msi, .msix, .msixbundle, .msm, .msp, .ocx, .psi, .psm1, .stl, .sys, .vbs, .vsix, .wsf, .xsn

Guida in KeyLocker

Dopo l'accesso a KeyLocker vedrai la guida alla configurazione, che ti aiuterà a scaricare l'applicazione DigiCert ONE Clients. Grazie ad essa ti connetterai sul computer al tuo account KeyLocker, verranno installate le librerie necessarie compresa SMCTL e verranno impostate nel sistema le variabili per l'autenticazione. Rispetto alla procedura precedente si tratta di una notevole semplificazione.

Nel primo passo della guida di KeyLocker scarica l'applicazione DigiCert ONE Clients, installala e avviala. L'accesso è lo stesso che hai impostato per l'interfaccia web di KeyLocker.

Le credenziali di autenticazione le ottieni nella guida di KeyLocker
Le credenziali di autenticazione le ottieni nella guida di KeyLocker

Nel passo successivo, nell'applicazione desktop installa SMCTL, che è lo strumento principale per la firma vera e propria.

Installazione di SMCTL
Installazione di SMCTL

Dopo l'installazione vedrai la scelta tra tre possibili modi di salvataggio delle variabili di KeyLocker nel sistema. Consigliamo di mantenere l'opzione predefinita „Store my credentials". I dati saranno salvati nel sistema e non dovrai riconnetterti al tuo account prima di ogni firma.

Scelta del metodo di autenticazione per KeyLocker
Scelta del metodo di autenticazione per KeyLocker

Se scegli l'opzione di salvataggio nel sistema, in Windows le credenziali saranno nella Gestione credenziali (Credential Manager).

Le credenziali di accesso a KeyLocker sono salvate nella Gestione credenziali (Credential Manager)
Le credenziali di accesso a KeyLocker sono salvate nella Gestione credenziali (Credential Manager). Rimarranno lì per sempre e non dovrai inserirle di nuovo.

Dopo la configurazione delle credenziali di accesso nel sistema, effettuata automaticamente da DigiCert ONE Clients, passa al terzo passo della guida. Ora ti chiederà di eseguire nel tuo sistema il comando SMCTL healthcheck, che testerà la comunicazione dell'ambiente locale con KeyLocker e la corretta autenticazione. Tutto dovrebbe procedere senza intoppi, quindi conferma „I have run the healthcheck command in SMCTL" e clicca sul pulsante Check Status.

Test della corretta configurazione
Test della corretta configurazione

Vedrai la conferma verde You're ready to start signing with SMCTL, che significa che tutto è configurato correttamente, la comunicazione funziona e puoi iniziare a firmare.

Scegli tra le quattro opzioni la piattaforma corretta che utilizzi per la firma, e successivamente vedrai un esempio (guida) per firmare utilizzando KeyLocker.

KeyLocker Setup Complete
KeyLocker Setup Complete

Firma dei file

Per la firma consigliamo di utilizzare in primo luogo l'utilità SMCTL, che funziona nella riga di comando (CLI). La seconda variante è l'utilità DigiCert Click-to-sign (vedi l'ultimo paragrafo).

Le guide per firmare file per le principali piattaforme (Authenticode, Docker, Java...) le trovi direttamente nell'interfaccia web di KeyLocker. Dopo aver terminato la guida (titolo „Setup complete!") puoi cliccare su una delle piattaforme offerte e l'interfaccia ti mostrerà il comando pronto con l'utilizzo del certificato selezionato. Basta copiarlo nella CLI e specificare il file da firmare. Più semplice di così non si può!

Firma dei file con SMCTL (consigliato)

L'utilità SMCTL proviene da DigiCert e può essere utilizzata anche per la firma semplificata dei file con strumenti di terze parti (è comunque richiesto almeno signtool). SMCTL collabora con gli strumenti più diffusi - Signtool, Apksigner, Jarsigner, Mage, Nuget. Lo strumento si trova nella cartella C:/Program Files/DigiCert/DigiCert Keylocker Tools/smctl.exe

Nell'ultimo passo della guida clicca su Authenticode e nella finestra di dialogo successiva scegli il certificato disponibile in KeyLocker. Riceverai il comando completo per la firma, in cui inserirai la destinazione e lo lancerai localmente nel tuo CLI. Otterrai immediatamente la conferma della firma riuscita del file.

Guida per la firma sulla piattaforma Windows - Authenticode
Guida per la firma sulla piattaforma Windows - Authenticode

La documentazione di SMCTL è disponibile su sito web di DigiCert.

Firma dei file con Signtool

La seguente guida riguarda lo strumento Signtool del pacchetto Windows SDK. È lo strumento più diffuso per la firma sulla piattaforma Windows.

Nel comando signtool è necessario specificare quale file si desidera firmare, con quale certificato e eventualmente parametri correlati. Per il certificato di firma, puoi far riferimento in vari modi - puoi lasciare che Signtool scelga automaticamente il certificato in base allo store; la scelta specifica del certificato può essere fatta facendo riferimento a un file con il certificato memorizzato (ovviamente solo la parte pubblica senza la chiave privata) oppure puoi usare l'hash SHA-1 del certificato.

Ecco un esempio di firma utilizzando l'hash dell'impronta digitale del certificato:

C:/>signtool.exe sign /sha1 ecb0f10ab1XXXXXXXXXX1681fb70a31e32288263 /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe

Ed ecco un esempio di firma utilizzando KeyLocker e un file con il certificato:

C:/Users/User>signtool.exe sign /csp "DigiCert Signing Manager KSP" /kc key_558469087 /f C:/Users/User/Documents/cert_558469087.crt /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Done Adding Additional Store
Successfully signed: C:/Users/User/Documents/HelloSign.exe

Puoi verificare la validità della firma con il comando signtool verify /v file.exe. Le proprietà della firma le trovi anche nel file firmato tramite Esplora risorse e Proprietà (pulsante destro del mouse).

Firma dei file con Jarsigner

Puoi utilizzare Jarsigner insieme a KeyLocker grazie alla libreria PKCS11; puoi firmare in modo semplificato utilizzando SMCTL oppure direttamente con Jarsigner e la libreria PKCS11.

Esempio di firma con Jarsigner:

jarsigner -keystore NONE -storepass NONE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties2.cfg -signedjar C:/Users/Name/Desktop/signed/signedjar.jar C:/Users/Name/Desktop/ToSign/jartosign.jar key3 -tsa "http://timestamp.digicert.com"

Verifica della validità della firma con il comando:

jarsigner -verify  -certs -verbose

La documentazione di Jarsigner è disponibile su sito web di DigiCert.

Firma con DigiCert Click-to-sign

Questa utilità offre un'interfaccia grafica per facilitare la firma dei file. Il risultato e il principio della firma non differiscono dagli strumenti della riga di comando; questi permettono invece un'impostazione più dettagliata dei parametri di firma. DigiCert Click-to-sign ha solo opzioni semplificate, che però possono bastare alla maggior parte degli utenti.

DigiCert Click-to-sign ha un enorme vantaggio: per configurarlo è necessario seguire la guida alla configurazione delle credenziali di accesso (secrets) a KeyLocker. La guida testerà semplicemente la connessione al cloud, ma soprattutto configurerà queste variabili nel sistema! Non dovrai configurarle manualmente in modo complesso.

La firma effettiva con questo strumento è estremamente semplice: fai clic con il tasto destro del mouse sul file da firmare e nel menu seleziona Click to Sign. Poi puoi firmare direttamente o con la conferma delle impostazioni di firma.

Revisione prima della firma in DigiCert Click-to-sign
Revisione prima della firma in DigiCert Click-to-sign

La documentazione di Click-to-sign è disponibile su sito web di DigiCert.

Nota: Se Click-to-sign non funziona, imposta nel variabile PATH percorsi al Click-to-sign stesso e alla applicazione di firma (signtool) separati da punto e virgola. Ad esempio:

Path: C:/Program Files/DigiCert/DigiCert Keylocker Tools;C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0x64;

Integrazione in CI/CD

Il principale vantaggio di KeyLocker è la possibilità di automatizzare le firme grazie all'integrazione nel workflow CI/CD. DigiCert ha preparato una serie di script e plugin per gli strumenti di sviluppo e le piattaforme più diffusi. I plugin sono disponibili per Azure DevOps, GitHub e Jenkins. Gli script di integrazione per la libreria PKCS11 sono ancora più numerosi.

Informazioni complete sono disponibili nell'articolo Integrazioni CI/CD.

Documentazione e altre risorse:

Hai domande?

Non esitare a contattare la nostra assistenza clienti, che ti consiglierà e ti aiuterà.

ZONER a.s.

Nové Sady 18
602 00 Brno

IČ: 49437381
DIČ: CZ49437381