{"copy":"Copia","expand":"Aprire","collapse":"Chiudere","copy_success":"Copiato!","copy_error":"Copia non riuscita!"}

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 vari strumenti di firma – da signtool a jarsigner. Le informazioni fornite sono anche fondamentali per firmare utilizzando il Software Trust Manager di DigiCert ONE; il principio di firma si applica pertanto a entrambi i servizi menzionati.

Compatibilità di KeyLocker

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

Qui menziono solo il Signtool più diffuso 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 aver effettuato l'accesso a KeyLocker, vedrai una Guida alla configurazione che ti aiuterà a scaricare l'applicazione DigiCert ONE Clients. Con essa, accederai al tuo account KeyLocker dal tuo computer, installerà le librerie necessarie incluse SMCTL e configurerà le variabili di sistema per l'autenticazione. Rispetto al metodo precedente, si tratta di un notevole alleggerimento.

Nel primo passaggio della guida di KeyLocker scarica l'app DigiCert ONE Clients, installala ed eseguila. L'accesso è lo stesso che hai configurato nell'interfaccia web di KeyLocker.

I dati per l'autenticazione vengono ottenuti nella guida di KeyLocker

Nel passaggio successivo installa SMCTL nell'applicazione desktop, che è lo strumento principale per la firma stessa.

Installazione di SMCTL

Dopo l'installazione, vedrai la selezione di tre modalità per salvare la variabile KeyLocker nel sistema. Consigliamo di lasciare l'opzione predefinita "Store my credentials". I dati verranno salvati nel sistema e non sarà necessario effettuare nuovamente il login all'account ad ogni firma.

Selezione del metodo di autenticazione per KeyLocker

Se scegli di salvare nel sistema, su Windows le credenziali saranno nel Gestore delle credenziali (Credential Manager).

Le credenziali di accesso a KeyLocker sono memorizzate nel Gestore delle credenziali (Credential Manager). Rimarranno lì per sempre e non sarà necessario inserirle di nuovo.

Dopo aver impostato le credenziali di accesso nel sistema, che verranno automaticamente impostate dall'app DigiCert ONE Clients, passare al terzo passaggio della guida. Ora ti verrà chiesto di eseguire nel tuo sistema il comando SMCTL healthcheck, che testerà la comunicazione del tuo ambiente locale con KeyLocker e la corretta autenticazione. Tutto dovrebbe andare liscio, quindi conferma "I have run the healthcheck command in SMCTL" e fai clic sul pulsante Check Status.

Test delle impostazioni corrette

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

Scegli la piattaforma giusta tra quattro opzioni che usi per firmare e vedrai quindi un esempio (guida) per firmare con KeyLocker.

Setup di KeyLocker completato

Firma dei file

Per firmare, consigliamo principalmente l'utilizzo dell'utilità SMCTL, che funziona nel prompt dei comandi (CLI). La seconda opzione è l'utilità DigiCert​​®​​ Click-to-sign (vedi ultimo paragrafo).

Le guide per firmare i file per le principali piattaforme (Authenticode, Docker, Java...) si trovano direttamente nell'interfaccia web di KeyLocker. Dopo aver completato la guida (titolo "Setup complete!"), puoi fare clic su una delle piattaforme offerte e l'interfaccia ti mostrerà un comando pronto utilizzando il certificato selezionato. Basta copiarlo nel CLI e specificare il file da firmare. Non potrebbe essere più semplice!

Firma dei file con SMCTL (consigliato)

L'utilità SMCTL proviene da DigiCert e può anche servire per semplificare la firma dei file utilizzando strumenti di terze parti (hai comunque bisogno almeno di signtool). SMCTL lavora 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 passaggio della guida, fai clic su Authenticode e nel dialogo successivo seleziona il certificato disponibile in KeyLocker. Riceverai un comando completo per firmare, dove aggiungerai la destinazione e lo eseguirai localmente nel tuo CLI. Riceverai immediatamente una conferma della firma riuscita del file.

Guida per la firma su piattaforma Windows - Authenticode

La documentazione completa di SMCTL si trova sul sito web di DigiCert.

Firma dei file con Signtool

Le seguenti istruzioni riguardano lo strumento Signtool del pacchetto Windows SDK. È lo strumento più diffuso per la firma sulla piattaforma Windows.

Al comando Signtool è necessario specificare quale file si desidera firmare, con quale certificato e eventuali parametri correlati. Puoi riferirti al certificato di firma in vari modi: Puoi lasciare che Signtool scelga automaticamente il certificato in base al repository oppure puoi effettuare una selezione specifica del certificato facendo riferimento a un file con il certificato salvato (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 del certificato:

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

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 si trovano anche nel file firmato, attraverso Esplora risorse e Proprietà (tasto destro del mouse).

Firma dei file con Jarsigner

Puoi utilizzare Jarsigner con KeyLocker tramite la libreria PKCS11; puoi firmare semplificatamente utilizzando SMCTL o 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"

Puoi verificare la correttezza della firma con il comando: jarsigner -verify -certs -verbose

La documentazione su Jarsigner si trova sul sito web di DigiCert.

Firma con DigiCert​​®​​ Click-to-sign

Questa utility offre un'interfaccia grafica per semplificare la firma di un file. Il risultato e il principio di firma non differiscono però dagli strumenti del prompt dei comandi; al contrario, questi permettono un'impostazione più dettagliata dei parametri di firma. DigiCert​​®​​ Click-to-sign offre solo opzioni semplificate, che tuttavia possono essere sufficienti per la maggior parte degli utenti.

DigiCert​​®​​ Click-to-sign ha un grandissimo vantaggio – per la sua configurazione è necessario passare attraverso la guida alla configurazione delle credenziali (Secrets) per KeyLocker. La guida non solo testerà facilmente la connessione al cloud, ma soprattutto imposterà queste variabili nel sistema! Non sarà quindi necessario impostarle manualmente in modo complicato.

Firmare con questo strumento è il più semplice possibile – fai clic con il tasto destro del mouse sul file da firmare e seleziona Click to Sign nel menu. Poi puoi firmare direttamente o con conferma delle impostazioni di firma.

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

La documentazione di Click-to-sign si trova sul sito web di DigiCert.

Nota: Se Click-to-sign non funziona, imposta le variabili nel PATH con i percorsi a Click-to-sign e anche all'applicazione di firma (Signtool) separati da un punto e virgola. Per 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 vantaggio principale 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ù diffuse. I plugin sono disponibili per Azure DevOps, GitHub e Jenkins. Sono disponibili ancora più script di integrazione per la libreria PKCS11.

Le informazioni complete si trovano nell'articolo CI/CD integrations.

Documentazione e altre risorse: