Questo tutorial ti mostrerà come firmare file dalla riga di comando di Windows con un certificato di firma del codice e una chiave privata archiviata in Azure Key Vault. Per seguire queste istruzioni avrai bisogno di:
- An Account Azure
- A Cassaforte delle chiavi
- A certificato di firma del codice installato in Key Vault. Puoi:
- Strumento per la firma di Azure installato sul computer che utilizzerai per la firma
Cos'è lo strumento di firma di Azure?
Strumento per la firma di Azure è un'utilità open source che offre SignTool funzionalità per certificati e chiavi archiviate in Azure Key Vault. È possibile installare lo strumento di firma di Azure con il comando seguente in Windows PowerShell (richiede SDK .NET):
dotnet tool install --global AzureSignTool
Passaggio 1: registrare una nuova applicazione Azure
Innanzitutto, dovrai registrare una nuova applicazione Azure in modo da poterti connettere a Key Vault per la firma.
- Accedi al Portale di Azure.
- Accedere a Directory attiva di Azure. (Clic Più servizi se l'icona di Azure Active Directory non è visibile.)
- Clicchi Registrazioni app, nella colonna di sinistra.
- Clicchi Nuova registrazione.
- Dai alla tua domanda un file Nome e fare clic sul Registrati pulsante. Lascia le altre impostazioni ai valori predefiniti.
- La tua nuova applicazione è stata registrata. Copia e salva il valore mostrato per ID dell'applicazione (client), perché ne avrai bisogno in seguito.
- Clicchi Autenticazione.
- Sotto Impostazioni avanzate, impostato Consenti flussi client pubblici a
Yes
.
- Clicchi Risparmi.
Passaggio 2: creare un segreto client
Quindi, genera un segreto client, che servirà come credenziale durante la firma.
- Clicchi Certificati e segreti nel menu a sinistra.
- Clicchi Nuovo segreto del cliente.
- Dai al tuo cliente un segreto Descrizione, impostare la scadenza come desiderato e fare clic su Aggiungi pulsante.
- copiare il Valore del tuo nuovo segreto cliente subito e conservalo in un luogo sicuro. Al successivo aggiornamento della pagina, questo valore sarà mascherato e non sarà più recuperabile.
Passaggio 3: abilitare l'accesso in Key Vault
Ora dovrai abilitare l'accesso per la tua applicazione in Azure Key Vault.
- Passare al Key Vault contenente il certificato che si desidera utilizzare per la firma e fare clic su Criteri di accesso collegamento.
- Clicchi Aggiungi politica di accesso.
- Sotto Autorizzazioni chiave, abilitare
Sign
.
- Sotto Autorizzazioni del certificato, abilitare
Get
.
- Clicca su Nessuno selezionato link, sotto Seleziona preside, quindi utilizza il campo di ricerca per individuare e selezionare l'applicazione creata nella sezione precedente.
- Clicca su Seleziona pulsante.
- Clicca su Aggiungi pulsante.
- Clicchi Risparmi.
- La tua politica di accesso è impostata e sei pronto per iniziare a firmare i file.
Passaggio 4: firma un file
Ora sei finalmente pronto per firmare un codice!
- Avrai bisogno delle seguenti informazioni disponibili:
- Di seguito è riportato un comando di esempio in PowerShell per firmare e contrassegnare un file con lo strumento di firma di Azure. Sostituisci i valori in TUTTO MAIUSCOLO con le tue informazioni effettive:
azuresigntool sign -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 PERCORSO ESEGUIBILE
Nota: Per impostazione predefinita, SSL.com supporta i timestamp delle chiavi ECDSA.
Se riscontri questo errore:The timestamp certificate does not meet a minimum public key length requirement
, è necessario contattare il fornitore del software per consentire i timestamp dalle chiavi ECDSA.
Se non è possibile per il tuo fornitore di software consentire l'utilizzo dell'endpoint normale, puoi utilizzare questo endpoint legacyhttp://ts.ssl.com/legacy
per ottenere un timestamp da un'unità di timestamp RSA. - Se la firma ha successo, dovresti vedere un output come il seguente (la firma non riuscita non produrrà alcun output):
info: AzureSignTool.Program [0] => File: test.exe File di firma test.exe info: AzureSignTool.Program [0] => File: test.exe Firma completata con successo per il file test.exe. info PS C: \ Users \ Aaron Russell \ Desktop>
- I dettagli sulla nuova firma digitale saranno disponibili nelle proprietà del file: