Strumento di creazione certificati (Makecert.exe)

Lo strumento di creazione certificati genera certificati X.509 solo a scopo di testing e crea una coppia di chiavi pubblica e privata per le firme digitali e la archivia in un file di certificato. Esso inoltre associa la coppia di chiavi a un nome di editore specificato e crea un certificato X.509 che collega un nome specificato dall'utente alla parte pubblica della coppia di chiavi.

Makecert.exe include opzioni di base ed estese. Le opzioni di base sono quelle più frequentemente utilizzate nella creazione di certificati. Le opzioni estese offrono una maggiore flessibilità.

Le chiavi private dei certificati generate da questo strumento non devono mai essere archiviate in file SNK. Se è necessario archiviare una chiave privata, è opportuno utilizzare un contenitore di chiavi. Per ulteriori informazioni su come archiviare una chiave privata in un contenitore di chiavi, vedere Procedura: archiviare chiavi asimmetriche in un contenitore di chiavi.

Avviso

Per archiviare i certificati in modo sicuro, è necessario utilizzare un archivio certificati. I file SNK utilizzati da questo strumento archiviano le chiavi private in modo non protetto. Quando si crea o si importa un file SNK, è necessario proteggerlo durante l'utilizzo e rimuoverlo al termine delle operazioni.

makecert [options] outputCertificateFile
Argomento Descrizione

FileCertificatooutput

Nome del file CER in cui verrà scritto il certificato di prova X.509.

Opzioni di base

Opzione Descrizione

-n nomex509

Specifica il nome del certificato dell'oggetto. Questo nome deve essere conforme allo standard X.500. Il metodo più semplice consiste nello specificare il nome tra virgolette doppie, preceduto da CN=, ad esempio "CN=nome".

-pe

Contrassegna la chiave privata generata come esportabile. In questo modo è possibile includere la chiave privata nel certificato.

-sk nomechiave

Specifica la posizione del contenitore di chiavi dell'oggetto, che contiene la chiave privata. Se non è disponibile alcun contenitore di chiavi, ne verrà creato uno.

-sr posizione

Specifica la posizione dell'archivio del certificato dell'oggetto. L'argomento posizione può corrispondere a currentuser (impostazione predefinita) o a localmachine.

-ss archivio

Specifica il nome dell'archivio del certificato dell'oggetto in cui è archiviato il certificato di output.

-# numero

Specifica un numero di serie compreso tra 1 e 2.147.483.647. L'impostazione predefinita è un valore univoco generato da Makecert.exe.

-$ autorità

Specifica l'autorità di firma del certificato che deve essere impostata su commercial per i certificati utilizzati da editori di software commerciale) o su individual (per i certificati utilizzati da editori di software per uso personale).

-?

Visualizza la sintassi del comando e l'elenco delle opzioni di base dello strumento.

-!

Visualizza la sintassi del comando e l'elenco delle opzioni estese dello strumento.

Opzioni estese

Opzione Descrizione

-a algoritmo

Specifica l'algoritmo di firma. Può avere valore md5 (impostazione predefinita) o sha1.

-b mm/gg/aaaa

Specifica l'inizio del periodo di validità. Per impostazione predefinita, corrisponde alla data di creazione del certificato.

-cy Tipocertificato

Specifica il tipo del certificato. I valori validi sono end per entità finale, authority per autorità di certificazione.

-d nome

Visualizza il nome dell'oggetto.

-e mm/gg/aaaa

Specifica il termine del periodo di validità. Per impostazione predefinita, corrisponde al 31 dicembre 2039, ora GMT 11:59:59.

-eku oid[,oid]

Inserisce nel certificato un elenco di identificatori di oggetto (OID, Object Identifier) per l'uso di chiavi avanzate, separati da virgole.

-h numero

Specifica l'altezza massima della struttura al di sotto del certificato.

-ic file

Specifica il file di certificato dell'autorità emittente.

-ik Nomechiave

Specifica il nome del contenitore di chiavi dell'autorità emittente.

-iky tipochiave

Specifica il tipo di chiave dell'autorità emittente, che deve corrispondere a signature, exchange o a un valore integer che rappresenta un tipo di provider. Per impostazione predefinita, è possibile passare 1 per una chiave exchange e 2 per una chiave signature.

-in nome

Specifica il nome comune del certificato dell'autorità emittente.

-ip provider

Specifica il nome del provider CryptoAPI dell'autorità emittente.

-ir posizione

Specifica la posizione dell'archivio del certificato dell'autorità emittente. L'argomento posizione può corrispondere a currentuser (impostazione predefinita) o a localmachine.

-is archivio

Specifica il nome dell'archivio del certificato dell'autorità emittente.

-iv Filepvk

Specifica il file PVK della chiave privata dell'autorità emittente.

-iy Filepvk

Specifica il tipo del provider CryptoAPI dell'autorità emittente.

-l collegamento

Effettua il collegamento a informazioni sui criteri, ad esempio un URL.

-m numero

Specifica la durata, in mesi, del periodo di validità del certificato.

-nscp

Include l'estensione dell'autorizzazione client di Netscape.

-r

Crea un certificato autofirmato.

-sc file

Specifica il file di certificato dell'oggetto.

-sky tipochiave

Specifica il tipo di chiave dell'oggetto, che deve corrispondere a signature, exchange o a un valore integer che rappresenta un tipo di provider. Per impostazione predefinita, è possibile passare 1 per una chiave exchange e 2 per una chiave signature.

-sp provider

Specifica il nome del provider CryptoAPI dell'oggetto.

-sv Filepvk

Specifica il file PVK della chiave privata dell'oggetto. Se non è disponibile alcun file, ne verrà creato uno.

-sy tipo

Specifica il tipo del provider CryptoAPI dell'oggetto.

Esempi

Il comando che segue crea un certificato di prova emesso dalla directory principale di prova predefinita e lo scrive in testCert.cer.

makecert testCert.cer

Il comando che segue crea un certificato emesso dalla directory principale di prova predefinita e lo salva in un archivio certificati.

makecert -ss testCertStore

Il comando che segue crea un certificato emesso dalla directory principale di prova predefinita e lo salva in un archivio certificati. Il certificato viene inserito in modo esplicito nell'archivio currentuser.

makecert -ss testCertStore -sr currentuser

Il comando che segue crea un certificato di prova e lo scrive in textXYZ.cer, utilizzando il contenitore di chiavi dell'oggetto e il nome X.500 dell'oggetto del certificato.

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

Il comando che segue crea un certificato emesso dalla directory principale di prova predefinita, crea un file PVK e inserisce il certificato nell'archivio e nel file.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

Il comando che segue crea un certificato emesso dalla directory principale di prova predefinita, crea un contenitore di chiavi e inserisce il certificato nell'archivio e nel file.

makecert -sk myTestKey -ss testCertStore testCert.cer

Il comando che segue crea un certificato autofirmato, specifica "CN=XYZ Company" come nome del soggetto, specifica la data iniziale e quella finale del periodo di validità, inserisce la chiave nell'archivio my, specifica una chiave exchange e rende esportabile la chiave privata.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

I comandi che seguono creano certificati e li salvano negli archivi. Il primo crea un certificato utilizzando la directory principale di prova predefinita e lo salva in un archivio. Il secondo comando crea un altro certificato sulla base di quello appena creato e lo salva in un altro archivio.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

I comandi che seguono creano certificati e li salvano negli archivi. Il primo salva il certificato nell'archivio my. Il secondo comando crea un altro certificato sulla base di quello appena creato. Poiché nell'archivio my sono presenti più certificati, il secondo comando identifica il primo certificato utilizzandone il nome comune.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

I comandi che seguono creano certificati e li salvano in file e archivi. Il primo crea un certificato utilizzando la directory principale di prova predefinita e lo salva nell'archivio my e in un file. Il secondo comando crea un altro certificato sulla base del certificato testCert.cer appena creato. Poiché nell'archivio my sono presenti più certificati, il secondo comando identifica unicamente il primo certificato utilizzandone il nome di file.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

Vedere anche

Riferimenti

Strumenti di .NET Framework
Strumento di verifica dei certificati dell'editore del software (Cert2spc.exe)
Prompt dei comandi di SDK