Rinnovo dell'autorità di certificazione
servizi certificati supporta il rinnovo di un'autorità di certificazione (CA). Il rinnovo è il rilascio di un nuovo certificato per la CA per estendere la durata della CA oltre la data di fine del certificato originale. È possibile rinnovare una CA come attività nello snap-in MMC dell'autorità di certificazione o usando lo strumento Certutil.exe (con il comando -renewCert).
Ogni rinnovo comporta un nuovo certificato ca; Tuttavia, l'amministratore può generare una nuova coppia di chiavi pubblica/privata o riutilizzare la coppia di chiavi pubblica/privata esistente per il certificato della CA. Per coerenza e integrità, i certificati CA e gli elenchi di revoche di certificati (CRL) rilasciati dalla CA prima che il rinnovo sia disponibile dopo il rinnovo della CA. Per renderli disponibili, Servizi certificati mantiene un indice di certificati ca, CRL e chiavi.
Gli indici e i nomi dei suffissi di certificati CA e CRL durante varie operazioni di rinnovo della CA sono i seguenti.
Operazione | Indice certificato CA | Suffisso del nome file del certificato CA | CRL e indice della chiave | Suffisso CRL e nome del contenitore della chiave |
---|---|---|---|---|
Installazione ca originale | 0 | "" | 0 | "" |
Rinnovo con nuova chiave | 1 | "(1)" | 1 | "(1)" |
Rinnovo della chiave di riutilizzo | 2 | "(2)" | 1 | "(1)" |
Rinnovo della chiave di riutilizzo | 3 | "(3)" | 1 | "(1)" |
Rinnovo con nuova chiave | 4 | "(4)" | 4 | "(4)" |
Rinnovo della chiave di riutilizzo | 5 | "(5)" | 4 | "(4)" |
Rinnovo con nuova chiave | 6 | "(6)" | 6 | "(6)" |
Rinnovo della chiave di riutilizzo | 7 | "(7)" | 6 | "(6)" |
Quando viene installata una CA, l'indice del certificato è zero e il suffisso del certificato è "" (una stringa vuota). Ogni volta che il certificato viene rinnovato (indipendentemente dal fatto che le chiavi vengano riutilizzate), l'indice del certificato viene incrementato di uno e il suffisso del nome file del certificato diventa una stringa del formato "(n)", dove n rappresenta il numero di volte in cui il certificato CA è stato rinnovato. Dopo il primo rinnovo, l'indice del certificato è 1 e il suffisso del nome file del certificato è "(1)". Dopo il secondo rinnovo, l'indice del certificato è 2 e il suffisso del nome file del certificato è "(2)" e così via.
Anche se l'indice e il suffisso del certificato CA vengono incrementati di uno ogni volta che viene rinnovata la CA, gli indici CRL e le chiavi e i suffissi del nome file vengono impostati sull'indice del certificato CA solo se il processo di rinnovo include una nuova coppia di chiavi pubblica/privata. In caso contrario, i valori di questi indici e suffissi rimangono invariati per l'ultimo indice. Durante il rinnovo, un amministratore specifica se viene generata una nuova coppia di chiavi o se viene usata la coppia di chiavi esistente. Nello snap-in MMC autorità di certificazione, un'opzione nell'interfaccia utente specifica una coppia di chiavi nuova o esistente. Nello strumento Certutil.exe il comando certutil -renewCert rinnova la CA con una nuova coppia di chiavi, mentre il comando certutil -renewCert ReuseKeys rinnova la CA con la coppia di chiavi esistente.
L'indice CRL è direttamente associato all'indice della chiave, impostato sull'indice del certificato CA solo quando viene usata una nuova coppia di chiavi per il rinnovo. Dopo il primo rinnovo (che ha usato una nuova coppia di chiavi), l'indice della CRL e della chiave è impostato su 1 e il suffisso CRL e del nome del contenitore della chiave è "(1)". Dopo il secondo rinnovo, tuttavia, l'indice del CRL e della chiave rimane 1 e il suffisso CRL e del nome del contenitore della chiave rimane anche "(1)"; questo perché il secondo rinnovo ha usato la coppia di chiavi esistente e viene emesso un solo CRL per ogni coppia di chiavi CA.
È possibile recuperare i certificati e i CRL indicizzati della CA chiamando il metodo GetCertificateProperty (sia nelle interfacce ICertServerExit che ICertServerPolicy). Quando si recuperano determinate proprietà correlate al certificato CA o al CRL, è possibile aggiungere l'indice in base zero del certificato CA ai nomi delle proprietà. Ad esempio, per recuperare l'indice CRL corrispondente al terzo certificato della CA, passare la proprietà "CRLIndex.2" a ICertServerPolicy::GetCertificateProperty; per la tabella, il valore della proprietà "CRLIndex.2" recuperato sarà 1. Una proprietà denominata "CertCount" può essere utilizzata per determinare il numero di volte in cui è stata rilasciata una CA.
Certificati CA e CRL contengono un'estensione che fornisce informazioni sul certificato e sull'indice della chiave. L'estensione è definita in Wincrypt.h come szOID_CERTSRV_CA_VERSION con il valore "1.3.6.1.4.1.311.21.1". I dati di estensione sono un valore DWORD (codificato come X509_INTEGER nell'estensione); i 16 bit bassi sono l'indice del certificato e i 16 bit alti sono l'indice chiave.
L'installazione iniziale di una CA produce un indice certificato pari a zero e un indice di chiave pari a zero. Il rinnovo di un certificato ca causerà l'incremento dell'indice del certificato. Se la chiave viene riutilizzata nel rinnovo, l'indice della chiave sarà uguale all'indice della chiave precedente. Se la chiave non viene riutilizzata, l'indice della chiave corrisponderà al nuovo indice del certificato.
Argomenti correlati