Redazione
a- a+

Come creare un certificato SSL gratuito

Vediamo come fare a creare un certificato SSL gratis con ASP.NET . Codici ed esempi.

In alcuni casi c’è bisogno di testare gli applicativi web sotto protezione SSL, cioè con protocollo HTTPS.
Per creare certificati digitali utilizzabili con questa tecnologia ci si può rivolgersi a un operatore commerciale e pagare il servizio, oppure acquistare il certificato da un security authority come Globaltrust, COMODO, VeriSign.

Il fatto è che un certificato SSL ha un costo non irrisorio: occorre spendere qualche centinaio di euro per poterlo acquistare. Al fine di testare un applicativo web, Microsoft ha inserito una comoda routine makecert.exe all’interno di Visual Studio.NET, in modo da permettere di creare certificati SSL in finalizzati a testare gli applicativi. Una volta installato Visual Studio.NET il makecert.exe si troverà nella seguente cartella “C:Program Files(cartella di Microsoft Visual Studio )Common7ToolsBin”.

MakeCert è uno strumento di creazione certificati che genera certificati X.509 solo a scopo di testing: 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.

Il comando MakeCert ha le seguenti opzioni:

MakeCert [/b data inizio] [/e data fine] [/m numero di mesi] [/n "nome"] [/pe] [/r] [/sc SubjectCertFile] [/sk SubjectKey] [/sr SubjectCertStoreLocation] [/ss SubjectCertStoreName] [/sv SubjectKeyFile] OutputFilePartial list of switches and arguments.

Opzioni di base:

Opzione

Oggetto di descrizione

-n name

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, -n "CN=nome".

-pe

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

-sk keyname

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 location

Specifica la posizione dell’archivio del certificato dell’oggetto. La posizione può essere impostata su currentuser (predefinita) oppure su localmachine.

-ss store

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

-# number

Specifica un numero di serie da 1 a 2.147.483.647.L’impostazione predefinita è un valore univoco generato da Makecert.exe.

-$ authority

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

Oggetto di descrizione

-a algoritmo

Specifica l’algoritmo di firma. Algoritmo deve essere md5, sha1 (quello predefinito), sha256, sha384 o sha512.

-b gg/mm/aaaa

Specifica l’inizio del periodo di validità. Viene impostato in modo predefinito sulla data corrente.

-crl

Compila un elenco certificati revocati (CRL, Certificate Revocation List) anziché un certificato.

-cy certType

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

-e gg/mm/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 number

Specifica l’altezza massima della struttura ad albero al di sotto del certificato.

-ic file

Specifica il file di certificato dell’autorità emittente.

-ik keyName

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

-iky keytype

Specifica il tipo di chiave dell’autorità emittente, che deve essere uno dei seguenti elementi: signature, che indica che la chiave viene utilizzata per una firma digitale, exchange, che indica che la chiave viene utilizzata per la crittografia delle chiavi e lo scambio delle chiavi o un numero intero che rappresenta un tipo di provider. Per impostazione predefinita, è possibile passare 1 per una chiave exchange o 2 per una chiave signature.

-inname

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

-ip provider

Specifica il nome del provider CryptoAPI dell’autorità emittente. Per informazioni sul nome del provider CryptoAPI, vedere l’opzione –sp.

-ir location

Specifica la posizione dell’archivio del certificato dell’autorità emittente. La posizione può essere impostata sia su currentuser (predefinita) oppure su localmachine.

-is store

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

-iv pvkFile

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

-iy type

Specifica il tipo del provider CryptoAPI dell’autorità emittente. Per informazioni sul tipo di provider CryptoAPI, vedere l’opzione –sy.

-l link

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

-lennumber

Consente di specificare la lunghezza in bit della chiave generata.

-m number

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 keytype

Specifica il tipo di chiave dell’oggetto, che deve essere uno dei seguenti elementi: signature, che indica che la chiave viene utilizzata per una firma digitale, exchange, che indica che la chiave viene utilizzata per la crittografia delle chiavi e lo scambio delle chiavi o un numero intero che rappresenta un tipo di provider. Per impostazione predefinita, è possibile passare 1 per una chiave exchange o 2 per una chiave signature.

-sp provider

Specifica il nome del provider di CryptoAPI dell’oggetto, che deve essere definito nelle sottochiavi di HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyDefaultsProvider nel Registro di sistema. Se sono presenti sia –sp che –sy, il tipo del provider di CryptoAPI deve corrispondere al valore Type della sottochiave del provider.

-sv pvkFile

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

-sy type

Specifica il nome del tipo di provider di CryptoAPI dell’oggetto, che deve essere definito nelle sottochiavi di HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyDefaultsProvider Types nel Registro di sistema. Se sono presenti sia –sy che –sp, il nome del provider di CryptoAPI deve corrispondere al valore Name della sottochiave del tipo di provider.

-tbs

Specifica il certificato o file CRL da firmare.

Alcuni esempi:

  • Certificato di prova emesso dalla directory radice di prova predefinita e lo scrive in un file testCert.cer:
makecert testCert.cer
  • Certificato emesso dalla directory radice di prova predefinita e lo salva in un archivio certificati:
makecert -ss testCertStore
  • Certificato emesso dalla directory radice 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
  • Certificato di prova e lo scrive nel file 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 
  • Certificato emesso dalla directory radice di prova predefinita, crea un file PVK e inserisce il certificato nell’archivio e nel file:
makecert -sv testCert.pvk -ss testCertStore testCert.cer



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Lorenzo
Hai qualche domanda da fare?