MakeCert

Nota

MakeCert è deprecato. Per creare certificati autofirmati, usare il cmdlet di PowerShell New-SelfSignedCertificate.

 

Lo strumento MakeCert crea un certificato X.509 , firmato dalla chiave radice di test o da un'altra chiave specificata, che associa il nome alla parte pubblica della coppia di chiavi. Il certificato viene salvato in un file, in un archivio certificati di sistema o in entrambi. Lo strumento viene installato nella cartella \Bin del percorso di installazione di Microsoft Windows Software Development Kit (SDK).

È possibile scaricare Windows SDK da Windows Dev Center.

Lo strumento MakeCert usa la sintassi di comando seguente:

MakeCert [BasicOptions ExtendedOptions|] OutputFile

OutputFile è il nome del file in cui verrà scritto il certificato. È possibile omettere OutputFile se il certificato non deve essere scritto in un file.

Opzioni

MakeCert include opzioni di base e estese. Le opzioni di base sono quelle più comunemente usate per creare un certificato. Le opzioni estese offrono maggiore flessibilità.

Le opzioni per MakeCert sono suddivise anche in tre gruppi funzionali:

  • Opzioni di base specifiche solo per la tecnologia dell'archivio certificati.
  • Opzioni estese specifiche solo per la tecnologia SPC-file e chiave privata.
  • Opzioni estese applicabili alla tecnologia SPC-file, chiave privata e archivio certificati.

Le opzioni specificate nelle tabelle seguenti possono essere usate solo con Internet Explorer 4.0 o versione successiva.

Opzione di base Descrizione
-aAlgorithm Algoritmo hash . Deve essere impostato su SHA-1 o MD5 (impostazione predefinita). Per informazioni su MD5, vedere MD5.
-bDateStart Data di validità del certificato. Il valore predefinito è quando viene creato il certificato. Il formato di DateStart è mm/gg/a.
-cyCertificateTypes Tipo di certificato. CertificateTypes può essere end per l'entità finale o l'autorità per l'autorità di certificazione.
-eDateEnd Data di fine del periodo di validità. Il valore predefinito è l'anno 2039.
-ekuOID1,OID2 ... Inserisce un elenco di uno o più identificatori OID (Key UsageObject Identifier) separati da virgole e delimitati da virgole nel certificato. Ad esempio, -eku 1.3.6.1.5.5.7.3.2 inserisce l'OID di autenticazione client. Per le definizioni degli ID consentiti, vedere il file Wincrypt.h in CryptoAPI 2.0.
-hNumChildren Altezza massima dell'albero al di sotto del certificato.
-lPolicyLink Collegamento alle informazioni sui criteri dell'agenzia SPC (ad esempio, un URL).
-mnMonths Durata del periodo di validità.
-n"Name" Nome del certificato dell'editore. Questo nome deve essere conforme allo standard X.500 . Il metodo più semplice consiste nell'usare il formato "CN=MyName". Ad esempio: -n "CN=Test".
-nscp È necessario includere l'estensione di autenticazione client Netscape.
-Pe Contrassegna la chiave privata come esportabile.
-r Crea un certificato autofirmato
-scSubjectCertFile Nome file del certificato con la chiave pubblica dell'oggetto esistente da usare.
-skSubjectKey Posizione del contenitore di chiavi dell'oggetto che contiene la chiave privata. Se non esiste alcun contenitore di chiavi, ne viene creato uno. Se non viene usata l'opzione -sk o -sv , viene creato e usato per impostazione predefinita un contenitore di chiavi predefinito.
-skySubjectKeySpec Specifica chiave del soggetto. SubjectKeySpec deve essere uno dei tre valori possibili:
  • Firma (specifica della chiave AT_SIGNATURE)
  • Exchange (specifica della chiave AT_KEYEXCHANGE)
  • Intero, ad esempio 3
Per altre informazioni, vedere la nota che segue questa tabella.
-spSubjectProviderName Provider CryptoAPI per l'oggetto. Il valore predefinito è il provider dell'utente. Per informazioni sui provider CryptoAPI, vedere la documentazione di CryptoAPI 2.0.
-srSubjectCertStoreLocation Percorso del Registro di sistema dell'archivio certificati dell'oggetto. SubjectCertStoreLocation deve essere LocalMachine (chiave del Registro di sistema HKEY_LOCAL_MACHINE) o CurrentUser (chiave del Registro di sistema HKEY_CURRENT_USER). CurrentUser è l'impostazione predefinita.
-ssSubjectCertStoreName Nome dell'archivio certificati dell'oggetto in cui verrà archiviato il certificato generato.
-svSubjectKeyFile Nome del file con estensione pvk dell'oggetto. Se non viene usata l'opzione -sk o -sv , viene creato e usato per impostazione predefinita un contenitore di chiavi predefinito.
-synSubjectProviderType Tipo di provider CryptoAPI per l'oggetto. Il valore predefinito è PROV_RSA_FULL. Per informazioni sui tipi di provider CryptoAPI, vedere la documentazione di CryptoAPI 2.0.
-#SerialNumber Numero di serie del certificato. Il valore massimo è 2^31. Il valore predefinito è un valore generato dallo strumento che è garantito che sia univoco.
-$CertificateAuthority Tipo di autorità di certificazione. CertificateAuthority deve essere impostato su commercial (per i certificati che devono essere usati dagli editori di software commerciali) o individuali (per i certificati da usare da singoli editori software).
-? Visualizza le opzioni di base.
-! Visualizza le opzioni estese.

 

Nota

Se l'opzione specifica chiave -sky viene usata in Internet Explorer versione 4.0 o successiva, la specifica deve corrispondere alla specifica della chiave indicata dal file di chiave privata o dal contenitore di chiavi private. Se l'opzione specifica della chiave non viene usata, verrà usata la specifica della chiave indicata dal file di chiave privata o dal contenitore di chiavi private. Se nel contenitore della chiave sono presenti più specifiche di chiave, MakeCert tenterà prima di tutto di usare la specifica della chiave AT_SIGNATURE. In caso di errore, MakeCert tenterà di usare AT_KEYEXCHANGE. Poiché la maggior parte degli utenti ha una chiave AT_SIGNATURE o una chiave AT_KEYEXCHANGE, questa opzione non deve essere usata nella maggior parte dei casi.

 

Le opzioni seguenti sono solo per i file SPC (Software Publisher Certificate ) e la tecnologia a chiave privata.

Opzione SPC e chiave privata Descrizione
-icIssuerCertFile Posizione del certificato dell'autorità emittente.
-ikIssuerKey Posizione del contenitore di chiavi dell'autorità emittente. Il valore predefinito è la chiave radice del test.
-ikyIssuerKeySpec Specifica chiave dell'autorità emittente, che deve essere uno dei tre valori possibili:
  • Firma (specifica della chiave AT_SIGNATURE)
  • Exchange (specifica della chiave AT_KEYEXCHANGE)
  • Intero, ad esempio 3
Per altre informazioni, vedere la nota che segue questa tabella.
-ipIssuerProviderName Provider CryptoAPI per l'autorità di certificazione. Il valore predefinito è il provider dell'utente. Per informazioni sui provider CryptoAPI, vedere la documentazione di CryptoAPI 2.0.
-ivIssuerKeyFile File di chiave privata dell'autorità emittente. Il valore predefinito è la radice del test.
-iynIssuerProviderType Tipo di provider CryptoAPI per l'autorità emittente. Il valore predefinito è PROV_RSA_FULL. Per informazioni sui tipi di provider CryptoAPI, vedere la documentazione di CryptoAPI 2.0.

 

Nota

Se l'opzione specifica chiave -iky viene usata in Internet Explorer 4.0 o versione successiva, la specifica deve corrispondere alla specifica della chiave indicata dal file di chiave privata o dal contenitore di chiavi private. Se l'opzione specifica della chiave non viene usata, verrà usata la specifica della chiave indicata dal file di chiave privata o dal contenitore di chiavi private. Se nel contenitore della chiave sono presenti più specifiche di chiave, MakeCert tenterà prima di tutto di usare la specifica della chiave AT_SIGNATURE. In caso di errore, MakeCert tenterà di usare AT_KEYEXCHANGE. Poiché la maggior parte degli utenti ha una chiave AT_SIGNATURE o una chiave AT_KEYEXCHANGE, questa opzione non deve essere usata nella maggior parte dei casi.

 

Le opzioni seguenti sono solo per la tecnologia dell'archivio certificati.

Opzione archivio certificati Descrizione
-ic IssuerCertFile File contenente il certificato dell'autorità emittente. MakeCert cercherà nell'archivio certificati un certificato con una corrispondenza esatta.
-in IssuerNameString Nome comune del certificato dell'autorità emittente. MakeCert cercherà nell'archivio certificati un certificato il cui nome comune include IssuerNameString.
-ir IssuerCertStoreLocation Percorso del Registro di sistema dell'archivio certificati dell'autorità emittente. IssuerCertStoreLocation deve essere LocalMachine (chiave del Registro di sistema HKEY_LOCAL_MACHINE) o CurrentUser (chiave del Registro di sistema HKEY_CURRENT_USER). CurrentUser è l'impostazione predefinita.
-is IssuerCertStoreName Archivio certificati dell'autorità emittente che include il certificato dell'autorità e le relative informazioni sulla chiave privata associata. Se nell'archivio sono presenti più certificati, l'utente deve identificarlo in modo univoco usando l'opzione -ic o -in . Se il certificato nell'archivio certificati non è identificato in modo univoco, MakeCert avrà esito negativo.