Anche se non si può fare un cert auto-firmato e impostare i parametri di utilizzo chiavi avanzato utilizzando makecert
ho pensato di salvare tutti la briga di cercare di utilizzare andare giù per il sentiero di usare OpenSSL per generare un cert su Windows. Invece, è possibile utilizzare certreq
(che è disponibile se si dispone già di makecert
) e modificare la propria richiesta per impostare i parametri richiesti.
Ad esempio, questo imposta un certificato con un EKU di Document Encryption (1.3.6.1.4.1.311.80.1) e utilizzi chiave di Encipherment chiave e Codifica dati.
Creare un nuovo file, MyCert.inf
:
[Version]
Signature = "$Windows NT$"
[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"
[NewRequest]
Subject = "[email protected]"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"
[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
Basta impostare il Subject
a tutto ciò che è necessario.
Poi gestita:
certreq -new MyCert.inf MyCert.cer
Questo genererà la chiave pubblica (X509 cert) ed installarlo sul tuo attuale archivio personale dell'utente sulla macchina. Puoi esportarlo da lì se lo desideri.
L'ho utilizzato per generare un certificato per la crittografia di PowerShell DSC, per il test.
Per maggiori dettagli: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New
Penso che si sta cercando l'opzione '-sky' – AaA