Certmgr.exe (strumento di gestione certificati)
Lo strumento di gestione certificati (Certmgr.exe) gestisce certificati, elenchi di scopi consentiti ai certificati ed elenchi di revoche di certificati (CRL, Certificate Revocation List).
Gestione certificati viene installato con Windows 10 SDK. Per avviare lo strumento, usare il prompt dei comandi per gli sviluppatori di Visual Studio o Visual Studio Developer PowerShell.
Nota
Lo strumento di gestione dei certificati (Certmgr.exe) è un'utilità da riga di comando, da non confondere con lo snap-in certificati (Certmgr.msc) di Microsoft Management Console (MMC). Poiché Certmgr.msc si trova in genere nella directory di sistema di Windows, l'immissione certmgr
nella riga di comando può caricare lo snap-in MMC Certificati anche se è stato aperto il prompt dei comandi per gli sviluppatori per Visual Studio. Ciò si verifica perché il percorso dello snap-in precede il percorso dello strumento Gestione certificati nella Path
variabile di ambiente. Se si verifica questo problema, è possibile eseguire Certmgr.exe comandi specificando il percorso del file eseguibile, ad esempio %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
Per una panoramica dei certificati X.509, vedere Utilizzo dei certificati.
Sintassi
Al prompt dei comandi immettere quanto segue:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parametri
Argomento | Descrizione |
---|---|
sourceStorename | Archivio certificati contenente certificati, elenchi di scopi consentiti ai certificati o CRL da aggiungere, eliminare, salvare o visualizzare. Può trattarsi di un file di archivio o di un archivio di sistema. |
destinationStorename | File o archivio certificati di output. |
Opzione | Descrizione |
---|---|
/add | Aggiunge certificati, elenchi di scopi consentiti ai certificati e CRL a un archivio certificati. |
/all | Aggiunge tutte le voci se usata con /add, Elimina tutte le voci quando vengono usate con /del. Visualizza tutte le voci usate senza le opzioni /add o /del . Non è possibile usare l'opzione /all con /put. |
/c | Aggiunge i certificati se usata con /add, Elimina i certificati quando vengono usati con /del. Salva i certificati quando vengono usati con /put. Visualizza certificati quando usata senza le opzioni /add, /del o /put. |
/CRL | Aggiunge i CRL se usata con /add, Elimina i CRL quando vengono usati con /del. Salva i CRL quando vengono usati con /put. Visualizza CRL quando usata senza le opzioni /add, /del o /put. |
/CTL | Aggiunge gli elenchi di scopi consentiti se usata con /add, Elimina le licenze CRL quando vengono usate con /del. Salva le licenze CRL quando vengono usate con /put. Visualizza gli elenchi di scopi consentiti quando usata senza le opzioni /add, /del o /put. |
/del | Elimina certificati, elenchi di scopi consentiti e CRL da un archivio certificati. |
/e encodingType | Specifica il tipo di codifica dei certificati. Il valore predefinito è X509_ASN_ENCODING . |
/f dwFlags | Specifica il flag di archivio aperto. Si tratta del parametro dwFlags passato a CertOpenStore. Il valore predefinito è CERT_SYSTEM_STORE_CURRENT_USER. Questa opzione viene considerata solo se viene usata l'opzione /y. |
/h[elp] | Visualizza la sintassi e le opzioni di comando dello strumento. |
/n nam | Specifica il nome comune del certificato da aggiungere, eliminare o salvare. È possibile usare questa opzione solo con certificati, non con elenchi di scopi consentiti o CRL. |
/put | Salva su file un certificato X.509, un elenco di scopi consentiti o un CRL da un archivio certificati. Il file viene salvato nel formato X.509. È possibile usare l'opzione /7 con l'opzione /put per salvare il file nel formato PKCS #7. L'opzione /put deve essere seguita da /c, /CTL o /CRL. Non è possibile usare l'opzione /all con /put. |
/r location | Identifica la posizione dell'archivio di sistema all'interno del Registro di sistema. Questa opzione viene considerata solo se viene specificata l'opzione /s. location deve essere uno degli elementi seguenti: - currentUser indica che l'archivio certificati si trova sotto la chiave HKEY_CURRENT_USER. Si tratta dell'impostazione predefinita.- localMachine indica che l'archivio certificati si trova sotto la chiave HKEY_LOCAL_MACHINE. |
/s | Indica che l'archivio certificati è un archivio di sistema. Se non si specifica questa opzione, l'archivio viene considerato come StoreFile. |
/sha1 sha1Hash | Specifica l'hash SHA1 del certificato, dell'elenco di scopi consentiti o del CRL da aggiungere, eliminare o salvare. |
/v | Specifica la modalità dettagliata. Visualizza informazioni dettagliate su certificati, elenchi di scopi consentiti e CRL. Non è possibile usare questa opzione con le opzioni /add, /del o /put. |
Provider /y | Specifica il nome del provider dell'archivio. |
/7 | Salva l'archivio di destinazione come oggetto PKCS #7. |
/? | Visualizza la sintassi e le opzioni di comando dello strumento. |
Osservazioni:
Certmgr.exe svolge le seguenti funzioni di base:
- Visualizza certificati, elenchi di scopi consentiti e CRL sulla console.
- Aggiunge certificati, elenchi di scopi consentiti ai certificati e CRL a un archivio certificati.
- Elimina certificati, elenchi di scopi consentiti e CRL da un archivio certificati.
- Salva su file un certificato X.509, un elenco di scopi consentiti o un CRL da un archivio certificati.
Certmgr.exe funziona con due tipi di archivi certificati: StoreFile e archivi di sistema. Non è necessario specificare il tipo di archivio certificati; Certmgr.exe può identificare il tipo di archivio ed eseguire le operazioni appropriate.
Se Certmgr.exe viene eseguito senza specificare alcuna opzione, verrà avviato lo snap-in certmgr.msc, che comprende una GUI che assisterà l'utente nell'esecuzione delle attività di gestione dei certificati disponibili anche dalla riga di comando. La GUI fornisce una procedura guidata di importazione che consente di copiare certificati, elenchi di scopi consentiti e CRL dal disco a un archivio certificati.
È possibile trovare i nomi degli archivi X509Certificate per i parametri sourceStorename
e destinationStorename
compilando ed eseguendo il codice seguente.
using System;
using System.Security.Cryptography.X509Certificates;
public class Example
{
public static void Main()
{
foreach (var storeValue in Enum.GetValues(typeof(StoreName))) {
X509Store store = new X509Store((StoreName) storeValue);
store.Open(OpenFlags.ReadOnly);
Console.WriteLine(store.Name);
}
}
}
Imports System.Security.Cryptography.X509Certificates
Module Example
Public Sub Main()
For Each storeValue In [Enum].GetValues(GetType(StoreName))
Dim store As New X509Store(CType(storeValue, StoreName))
store.Open(OpenFlags.ReadOnly)
Console.WriteLine(store.Name)
Next
End Sub
End Module
Per altre informazioni sui certificati, vedere Utilizzo dei certificati.
Esempi
Il comando che segue visualizza un archivio di sistema predefinito denominato my
con output dettagliato.
certmgr /v /s my
Il comando che segue aggiunge tutti i certificati contenuti in un file denominato myFile.ext
in un nuovo file denominato newFile.ext
.
certmgr /add /all /c myFile.ext newFile.ext
Il comando che segue aggiunge il certificato contenuto in un file denominato testcert.cer
all'archivio di sistema my
.
certmgr /add /c testcert.cer /s my
Il comando che segue aggiunge il certificato contenuto in un file denominato TrustedCert.cer
all'archivio certificati radice.
certmgr /c /add TrustedCert.cer /s root
Il comando che segue salva un certificato con il nome comune myCert
contenuto nell'archivio di sistema my
in un file denominato newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
Il comando che segue elimina tutti gli elenchi di scopi consentiti contenuti nell'archivio di sistema my
e salva l'archivio ottenuto in un file denominato newStore.str
.
certmgr /del /all /ctl /s my newStore.str
Il comando che segue salva nel file my
un certificato contenuto nell'archivio di sistema newFile
. Verrà chiesto di inserire il numero del certificato presente in my
per inserirlo in newFile
.
certmgr /put /c /s my newFile
Vedi anche
- Strumenti
- CertMgr (sviluppo di app di Windows)
- Makecert.exe (Certificate Creation Tool) (Makecert.exe, strumento di creazione certificati)
- Shell della riga di comando per sviluppatori