Dela via


Förnyelse av certifikatutfärdare

Certificate Services stöder förnyelse av en certifikatutfärdare (CA). Förnyelse är utfärdandet av ett nytt certifikat för certifikatutfärdare för att förlänga CA:ns livslängd efter slutdatumet för det ursprungliga certifikatet. Du kan förnya en certifikatutfärdare som en uppgift i MMC-snapin-modulen certifikatutfärdare eller med hjälp av verktyget Certutil.exe (med kommandot -renewCert).

Varje förnyelse resulterar i ett nytt CA-certifikat; Administratören kan dock antingen generera ett nytt offentligt/privat nyckelpar eller återanvända det befintliga offentliga/privata nyckelparet för CA-certifikatet. För konsekvens och integritet listar CA-certifikat och certifikatåterkallningslistor (CRL) som utfärdats av certifikatutfärdare innan förnyelsen är tillgänglig efter att certifikatutfärdare har förnyats. För att göra dessa tillgängliga upprätthåller Certificate Services ett index över CA-certifikat, CRL:er och nycklar.

Indexen och suffixnamnen för CA-certifikat och CRL:er under olika CA-förnyelseåtgärder är följande.

Operation Certifikatutfärdarcertifikatindex Certifikatutfärdarfilnamnssuffix CRL och nyckelindex Suffix för CRL- och nyckelcontainernamn
Ursprunglig CA-installation 0 "" 0 ""
Förnyelse med ny nyckel 1 "(1)" 1 "(1)"
Återanvändningsnyckel för förnyelse 2 "(2)" 1 "(1)"
Återanvändningsnyckel för förnyelse 3 "(3)" 1 "(1)"
Förnyelse med ny nyckel 4 "(4)" 4 "(4)"
Återanvändningsnyckel för förnyelse 5 "(5)" 4 "(4)"
Förnyelse med ny nyckel 6 "(6)" 6 "(6)"
Återanvändningsnyckel för förnyelse 7 "(7)" 6 "(6)"

 

När en certifikatutfärdare installeras är certifikatindexet noll och certifikatsuffixet är "" (en tom sträng). Varje gång certifikatet förnyas (oavsett om nycklar återanvänds eller inte) ökas certifikatindexet med ett och certifikatfilens namnsuffix blir en sträng av formuläret "(n)", där n representerar antalet gånger ca-certifikatet har förnyats. Efter den första förnyelsen är certifikatindexet 1 och certifikatfilens namnsuffix är "(1)". Efter den andra förnyelsen är certifikatindexet 2 och certifikatfilens namnsuffix är "(2)" och så vidare.

Även om certifikatutfärdarcertifikatindexet och suffixet ökas med en varje gång certifikatutfärdare förnyas, anges crl- och nyckelindexen och filnamnssuffixen endast till CA-certifikatindexet om förnyelseprocessen innehåller ett nytt offentligt/privat nyckelpar. Om den inte gör det förblir värdena för dessa index och suffix desamma som för det senaste indexet. Under förnyelsen anger en administratör om ett nytt nyckelpar genereras eller om det befintliga nyckelparet används. (I MMC-snapin-modulen certifikatutfärdare anger ett alternativ i användargränssnittet ett nytt eller ett befintligt nyckelpar. I Certutil.exe-verktyget förnyar kommandot certutil -renewCert ca:n med ett nytt nyckelpar, medan kommandot certutil -renewCert ReuseKeys förnyar certifikatutfärdare med det befintliga nyckelparet.)

CRL-indexet är direkt kopplat till nyckelindexet, som endast anges till CA-certifikatindexet när ett nytt nyckelpar används för förnyelsen. Efter den första förnyelsen (som använde ett nytt nyckelpar) är indexet för CRL och nyckeln inställt på 1 och suffixet crl och nyckelcontainernamn är "(1)". Efter den andra förnyelsen förblir dock indexet för CRL och nyckeln 1, och suffixet crl och nyckelcontainernamn förblir också "(1)"; Detta beror på att den andra förnyelsen använde det befintliga nyckelparet och endast en CRL utfärdas för varje CA-nyckelpar.

Du kan hämta indexerade CA-certifikat och CRL:er genom att anropa metoden GetCertificateProperty (i både ICertServerExit och ICertServerPolicy-gränssnitt). När du hämtar vissa egenskaper som är relaterade till CA-certifikatet eller CRL kan du lägga till CA-certifikatets nollbaserade index i egenskapsnamnen. Om du till exempel vill hämta CRL-indexet som motsvarar certifikatutfärdarens tredje certifikat skickar du egenskapen "CRLIndex.2" till ICertServerPolicy::GetCertificateProperty; för tabellen skulle det hämtade "CRLIndex.2"-egenskapsvärdet vara 1. En egenskap med namnet "CertCount" kan användas för att fastställa hur många gånger certifikatutfärdare har utfärdats ett CA-certifikat.

CA-certifikat och CRL:er innehåller ett tillägg som innehåller information om certifikatet och nyckelindexet. Tillägget definieras i Wincrypt.h som szOID_CERTSRV_CA_VERSION med värdet "1.3.6.1.4.1.311.21.1". Tilläggsdata är ett DWORD- värde (kodat som X509_INTEGER i tillägget); de låga 16 bitarna är certifikatindexet och de höga 16 bitarna är nyckelindexet.

Den första installationen av en certifikatutfärdare genererar ett certifikatindex på noll och ett nyckelindex på noll. Förnyelse av ett CA-certifikat gör att certifikatindexet ökas. Om nyckeln återanvänds under förnyelsen blir nyckelindexet detsamma som det tidigare nyckelindexet. Om nyckeln inte återanvänds matchar nyckelindexet det nya certifikatindexet.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty