Guida online ESET

Ricerca Italiano
Seleziona l'argomento

Genera un certificato SSL personalizzato (autofirmato)

Genera certificato autofirmato utilizzando Windows PowerShell

Generare un certificato SSL personalizzato e importarlo negli archivi essenziali su Windows Server 2012 R2.

1.Aprire Window PowerShell.

2.Eseguire i seguenti comandi:

a.$customcertificate = New-SelfSignedCertificate -DnsName "<FQDN>" -CertStoreLocation "cert:\localmachine\my"
 
Nel comando precedente, sostituire <FQDN> con la versione del nome dell’oggetto corrispondente in ESA Web Console in Components (Componenti) > Invitations (Inviti) > Server access (Accesso server).
In caso di definizione di DnsNames multipli, ad esempio:
-DnsName "my.esa.installation.com", "my.authentication.server", "twofactor.auth"
 
La prima voce (“my.esa.installation.com” nell'esempio precedente) verrà utilizzata nel campo Subject (Oggetto) e le voci successive saranno utilizzate nel campo Subject Alternative Name (Nome alternativo dell’oggetto) del certificato.

b.$exportpassword = ConvertTo-SecureString -String '<password>' -Force -AsPlainText

Nel comando precedente, sostituire <password> con la password scelta.

c.$certPath = 'cert:\localMachine\my\' + $customcertificate.thumbprint

d.Export-PfxCertificate -cert $certPath -FilePath $env:USERPROFILE\Desktop\ESAcustomCertificate.pfx -Password $exportpassword

Questo comando finale consente di posizionare il certificato ESAcustomCertificate.pfx sul desktop.

3. Per aprire la finestra di dialogo Esegui, premere il tasto Windows + R.

4.Aggiungere lo snap-in dei certificati:

a.Digitare mmc e premere Enter (Invio).

b.Fare clic su File -> Aggiungi/Rimuovi snap-in

c.Selezionare Certificati > Aggiungi.

d.Selezionare Computer Account (Account computer), fare clic su Next (Avanti), quindi su Finish (Fine). Fare clic su OK per chiudere la finestra Aggiungi/Rimuovi snap-in.

5.Importare il certificato applicabile:

a.Nel riquadro di sinistra di MMC espandere Certificati (computer locale) > Personale > Personale e fare clic con il pulsante destro del mouse su Certificati.

b.Selezionare Tutte le attività > Importa.

c.Nella procedura guidata di importazione, fare clic su Next (Avanti), poi su Browse (Sfoglia), quindi nella casella di elenco delle estensioni del file selezionare “Scambio informazioni personali (*.pfx, *.p12)“, individuare il file del certificato esportato, fare clic su Open (Apri) e poi su Next (Avanti).

d.Inserire la password utilizzata nel secondo comando precedente e fare clic su Avanti.

e.Selezionare Posizionare tutti i certificati nel seguente archivio e digitare Personale per il nome dell’archivio. Fare clic su Avanti e su Fine.

6.Nel riquadro di sinistra di MMC espandere Certificati (computer locale) > Autorità di certificazione radice attendibili e fare clic con il pulsante destro del mouse su Certificati.

7.Selezionare Tutte le attività > Importa, quindi ripetere i passaggi da 6a a 6c.

8.Fare doppio clic sul certificato in Certificates (Local Computer) > Personal > Certificates (Certificati (computer locale) > Personale > Certificati) e accertarsi che sia visualizzata la riga You have a private key that corresponds to this certificate (Si dispone di una chiave privata che corrisponde a questo certificato).

Se si desidera utilizzare un file .crt e .key al posto di .pfx, convertire .pfx in .crt e .key utilizzando OpenSSL o un altro metodo preferito.

Converti .pfx in .crt, .key utilizzando OpenSSL

Verificare che OpenSSL for Windows sia installato, quindi eseguire i comandi riportati di seguito.

openssl pkcs12 -in D:\ESAcustomCertificate.pfx -clcerts -nokeys -out D:\ESAcustomCertificate.crt

Quando viene visualizzato Inserire la password di importazione, inserire la password definita nel comando Export-PfxCertificate durante la generazione del certificato attraverso Windows PowerShell.

openssl pkcs12 -in D:\ESAcustomCertificate.pfx -nocerts -out D:\ESAcustomCertificate_encrypted.key

Per il campo Inserire passphrase PEM, definire una nuova password con una lunghezza minima di quattro caratteri.

openssl rsa -in D:\ESAcustomCertificate_encrypted.key -out D:\ESAcustomCertificate.key

Quando richiesto, inserire la stessa password definita per il campo Inserire passphrase PEM.

 

Genera certificato autofirmato utilizzando OpenSSL

Verificare che OpenSSL for Windows sia installato.

Crea un File di configurazione

Per evitare di visualizzare l’avviso “Certificato non valido", è necessario che nel file sESAcustomCertificate.conf sia incluso l’elenco di nomi DNS alternativi mediante i quali sarà disponibile il server di autenticazione. Il precedente comando genererà i file newKey.rsa e newCertificate.crt.

Contenuto del campione del file ESAcustomCertificate.conf:

[ req ]

default_bits       = 4096

distinguished_name = req_distinguished_name

req_extensions     = req_ext

x509_extensions    = x509_ext

 

[ req_distinguished_name ]

countryName                 = Country Name (2 letter code)

countryName_default         = SK

stateOrProvinceName         = State or Province Name (full name)

stateOrProvinceName_default = Slovakia

localityName                = Locality Name (eg, city)

localityName_default        = Bratislava

organizationName            = Organization Name (eg, company)

organizationName_default    = My company running ESA

commonName                  = Common Name (e.g. server FQDN)

commonName_default          = my.esa.installation.com

 

[ req_ext ]

subjectAltName = @alternative_names

 

[ x509_ext ]

subjectAltName = @alternative_names

 

[alternative_names]

DNS.1   = my.esa.installation.com

DNS.2   = my.authentication.server

DNS.3   = twofactor.auth

DNS.4   = 192.168.0.1

IP.1    = 192.168.0.1

Generare un certificato e una chiave OpenSSL utilizzando la riga di comando di Windows.

openssl req -config D:\ESAcustomCertificate.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout D:\ESAcustomCertificate.key -days 365 -out D:\ESAcustomCertificate.crt

Se commonName è stato preconfigurato correttamente nel file di configurazione, premere Invio quando viene visualizzato il prompt CommonName.