Servizi certificati di Active Directory (ADCS) di Windows con proxy PKI

Il presente documento descrive la configurazione dei Servizi certificati di Active Directory (ADCS) di Windows con PKI Proxy e NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • Modulo NetHSM PKCS#11 installato e configurato per l’utilizzo con NetHSM

  • Server CA (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Gli strumenti client non sono necessari se su questo server è in esecuzione anche il server PKI Proxy, poiché quest’ultimo include già gli strumenti client.

    • Pynitrokey installed

Root CA Key and Certificate

La tabella seguente elenca gli algoritmi di crittografia e le lunghezze delle chiavi principali, insieme agli algoritmi di hash che Windows ADCS può utilizzare con NetHSM.

Key Algorithm

Key Length

Hash Algorithm

RSA

1024

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

2048

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

4096

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

ECDSA

P256

SHA1, SHA256, SHA385, SHA512

P384

SHA1, SHA256, SHA385, SHA512

P521

SHA1, SHA256, SHA385, SHA512

Importante

Si prega di attenersi alle migliori pratiche per la scelta di un algoritmo di crittografia sicuro, della lunghezza appropriata e di un algoritmo di hash.

È possibile generare una chiave e un certificato ex novo oppure migrare quelli esistenti. Si prega di consultare i sottocapitoli riportati di seguito per ulteriori informazioni sull’approccio da adottare nella propria situazione specifica.

Generate a new Root CA Key and Certificate on Windows

Le seguenti istruzioni consentono di creare una nuova chiave e un nuovo certificato da utilizzare in un’autorità di certificazione radice (Root CA) di tipo « « in ADCS.

Suggerimento

Di solito è più semplice generare una chiave e un certificato utilizzando la procedura guidata di configurazione di ADCS e poi seguire Migrare la chiave e il certificato esistenti.

In questo caso, viene utilizzato un modello di richiesta per generare una chiave con estensioni CA esplicite. I valori specifici devono essere adattati al proprio ambiente.

Il modello di richiesta deve essere salvato in un file denominato RootCA.inf con il seguente contenuto.

Questo modello genererà una chiave RSA con una lunghezza di 4096 bit. È necessario sostituire <CA-NAME> con il nome della propria CA.

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=<CA-NAME>"
KeySpec = 1
KeyLength = 4096
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft Software Key Storage Provider"
ProviderType = 0
RequestType = Cert
KeyUsage = 0x86

[Extensions]
; Key Usage: keyCertSign (0x04) + cRLSign (0x02) => 0x06
2.5.29.15 = "{critical}86"

; Basic Constraints: CA = TRUE, path length optional
2.5.29.19 = "{critical}{text}CA=TRUE"

; CA Version (V0.0)
1.3.6.1.4.1.311.21.1 = "{hex}02 01 00"

[RequestAttributes]
; Empty for self-signed request

Generate the key and certificate from the certificate template.

certreq -new RootCA.inf RootCA.req

Il certificato è stato aggiunto all’archivio certificati del computer locale. Esportare il certificato in un file PFX, sostituendo <THUMBPRINT> con il valore corrispondente ricavato dall’output del comando precedente.

$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password

Il valore della password viene utilizzato per crittografare l’archivio PKCS#12 (file PFX). È possibile proseguire con il capitolo Configurazione di NetHSM.

Migrate existing Key and Certificate

Per migrare una chiave e un certificato esistenti, è necessario esportarli dall’archivio dei certificati presente sull’ADCS e importare l’archivio risultante nel NetHSM.

Importante

Prima di apportare modifiche a un’autorità di certificazione di produzione, si consiglia di crearne un backup. Per ulteriori informazioni, consultare questa pagina all’indirizzo ` <https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/ca-backup-and-restore-windows-powershell-cmdlets>` __.

  1. Apri certlm.msc.

  2. Accedere a Certificati - Computer locale → Personali → Certificati.

  3. Select the certificate in the list on the right.

  4. Nella barra dei menu in alto, seleziona “ ” → “Azione” → “Tutte le attività” → “Esporta…”. In questo modo verrà avviata la procedura guidata per l’esportazione dei certificati ** .

  5. Confirm the introduction of the assistant with Next.

  6. Selezionare il pulsante di opzione accanto a “ ” (Sì, esporta la chiave privata) e confermare con “ ” (Avanti). Se il pulsante di opzione non è disponibile, la chiave è contrassegnata come non esportabile. In questo caso, la presente guida non è applicabile al caso d’uso previsto.

  7. Se possibile, includere tutti i certificati presenti nel percorso di certificazione

  8. Selezionare il pulsante di opzione accanto a “ ” (Sì, esporta la chiave privata) e confermare con “ ” (Avanti).

  9. Selezionare il pulsante di opzione accanto a “ ” (Scambio di informazioni personali - PKCS #12 (.PFX)). Assicurarsi di selezionare le seguenti opzioni:

    • Se possibile, includere tutti i certificati presenti nel percorso di certificazione

    • Esporta tutte le proprietà estese

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Selezionare il pulsante di opzione accanto a « « (Password). Immettere una password nei campi di testo previsti. Dal menu a tendina accanto a « Encryption» (Crittografia), selezionare « « (AES256-SHA256).

    Importante

    Il metodo di crittografia AES256-SHA256 è supportato solo a partire da Windows Server 2019 e Windows 11. Per l’utilizzo con versioni precedenti, mantenere l’impostazione predefinita TripleDES-SHA1.

    Confirm the selection with Next.

  11. Choose a storage location and file name and confirm with Next.

    Importante

    La chiave e il certificato esportati devono essere conservati in un luogo sicuro, accessibile solo agli utenti autorizzati.

  12. Confirm the export with Finish.

  13. Assicurati che il certificato sia ancora selezionato nell’elenco a destra.

  14. Nella barra dei menu in alto, selezionare “ ” → “All Tasks” → “Delete”. Confermare l’eliminazione della chiave privata e del certificato con “ ” “Yes”.

È possibile proseguire con il capitolo Configurazione di NetHSM.

NetHSM Configuration

La chiave e il certificato del capitolo precedente devono essere importati nel NetHSM. Con il comando ` nitropia <../software/nitropy/index.html>`__ è possibile importare l’archivio PKCS#12 direttamente nel NetHSM.

Importare l’archivio PKCS#12 come segue, sostituendo <KEY-ID>, <MECHANISM> e <PKCS12-ARCHIVE> con i rispettivi valori.

nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>

Per le chiavi RSA, il meccanismo deve essere rsa_signature_pkcs1, mentre per le chiavi ECDSA deve essere ecdsa_signature.

Ora è possibile verificare che il certificato sia disponibile su NetHSM.

nitropy nethsm list-keys

La chiave verrà elencata con l’ID chiave specificato nel comando precedente.

PKI Proxy Server Configuration

Sul server proxy PKI, è necessario condividere il certificato appena aggiunto dal NetHSM. Per ulteriori informazioni, seguire la procedura descritta all’indirizzo Publish Certificates from the NetHSM.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

Di seguito, rendiamo disponibili la chiave e il certificato nell’archivio certificati locale di Windows.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Compila i campi obbligatori.

    • Indirizzo, ad esempio: https://localhost:9266

    • Autenticazione

    • User

    • Secret Key/Password/SPN

    • Certificate Store: LOCALMACHINE\My

    Confirm the configuration with the OK button. This will bring you back to the previous window.

  4. The list under Certificate Management in the PKI Proxy Certificate Manager should now show the just added certificate.

Ora è possibile verificare che il certificato sia presente nell’archivio certificati del computer locale.

  1. Apri la finestra di dialogo «Esegui» ( ), cliccando con il tasto destro del mouse sul menu Start di Windows **** e selezionando «Esegui» ( ) oppure premendo il tasto Windows + R **** sulla tastiera.

  2. Nella finestra di dialogo « « (Esegui), digita certlm.msc e conferma premendo Digita sulla tastiera oppure clicca su OK.

  3. Nella finestra del Gestore certificati che si apre, navigare nella struttura ad albero a sinistra fino a Certificati - Computer locale → Personale → Certificati.

  4. The published certificate is now listed on the right.

Windows ADCS Configuration

  1. Apri Server Manager di **** dal menu Start di **** oppure premendo il tasto Windows + R sulla tastiera e digita ServerManager.exe.

  2. Nella barra dei menu in alto a destra, fare clic sull’icona della bandiera e selezionare « « (Configurazione dei servizi certificati Active Directory) sul server di destinazione dalle notifiche successive alla distribuzione. In questo modo verrà avviata la procedura guidata « « (Configurazione AD CS).

  3. In the wizard, set the settings below according to the stage.

    • Role Services

      Check the radio button next to Certification Authority.

    • Setup Type

      Selezionare (CA aziendale) oppure (CA autonoma) a seconda del proprio ambiente.

    • CA Type

      Seleziona l’autorità di certificazione radice « «

    • Private Key

      Selezionare il pulsante di opzione accanto a “ ” (Utilizza chiave privata esistente). Con questa opzione, selezionare il pulsante di opzione accanto a “ ” (Seleziona un certificato e utilizza le chiavi private associate).

      • Existing Certificate

        Nell’elenco dei certificati di **** selezionare il certificato che si desidera utilizzare. Assicurarsi che la casella di controllo accanto a Consenti l’interazione dell’amministratore quando la CA accede alla chiave privata. non sia selezionata. Ciò non è necessario poiché il KSP di PKI Proxy non richiede alcuna autenticazione aggiuntiva per l’utilizzo della chiave privata.

  4. Al termine della procedura guidata di configurazione, apri l’Autorità di certificazione « « dal menu Start di **** oppure premendo il tasto Windows + R **** sulla tastiera e digitando certsrv.msc. È possibile verificare che il servizio dell’autorità di certificazione sia stato avviato correttamente quando viene visualizzata un’icona raffigurante un punto verde con un segno di spunta bianco accanto al nome dell’autorità di certificazione.

Importante

La disponibilità dell’autorità di certificazione dipende dalla disponibilità della chiave privata e del certificato. Se questi non sono disponibili, il servizio dell’autorità di certificazione potrebbe non avviarsi o arrestarsi in modo imprevisto. In caso di errore, per ulteriori informazioni, controllare il registro eventi di Windows alla voce « « ( ) all’indirizzo.