Udostępnij za pośrednictwem


Odnawianie urzędu certyfikacji

usługi certyfikatów obsługują odnawianie urzędu certyfikacji (CA). Odnawianie to wystawianie nowego certyfikatu dla urzędu certyfikacji w celu przedłużenia okresu istnienia urzędu certyfikacji poza datę zakończenia oryginalnego certyfikatu. Urząd certyfikacji można odnowić jako zadanie w przystawce MMC urzędu certyfikacji lub za pomocą narzędzia Certutil.exe (za pomocą polecenia -renewCert).

Każde odnawianie powoduje utworzenie nowego certyfikatu urzędu certyfikacji; jednak administrator może wygenerować nową parę kluczy publicznych/prywatnych lub ponownie użyć istniejącej pary kluczy publicznych/prywatnych dla certyfikatu urzędu certyfikacji. Aby zapewnić spójność i integralność, certyfikaty urzędu certyfikacji i listy odwołania certyfikatów (CRL) wystawione przez urząd certyfikacji przed jego odnowieniem będzie dostępne po odnowieniu urzędu certyfikacji. Aby udostępnić te elementy, usługi certyfikatów utrzymują indeks certyfikatów urzędu certyfikacji, listy CRL i klucze.

Indeksy i nazwy sufiksów certyfikatów urzędu certyfikacji i listy CRL podczas różnych operacji odnawiania urzędu certyfikacji są następujące.

Operacja Indeks certyfikatu urzędu certyfikacji Sufiks nazwy pliku certyfikatu urzędu certyfikacji Lista CRL i indeks kluczy Sufiks listy CRL i nazwy kontenera klucza
Oryginalna instalacja urzędu certyfikacji 0 "" 0 ""
Odnawianie przy użyciu nowego klucza 1 "(1)" 1 "(1)"
Ponowne użycie klucza odnowienia 2 "(2)" 1 "(1)"
Ponowne użycie klucza odnowienia 3 "(3)" 1 "(1)"
Odnawianie przy użyciu nowego klucza 4 "(4)" 4 "(4)"
Ponowne użycie klucza odnowienia 5 "(5)" 4 "(4)"
Odnawianie przy użyciu nowego klucza 6 "(6)" 6 "(6)"
Ponowne użycie klucza odnowienia 7 "(7)" 6 "(6)"

 

Po zainstalowaniu urzędu certyfikacji indeks certyfikatu ma wartość zero, a sufiks certyfikatu to "" (pusty ciąg). Za każdym razem, gdy certyfikat jest odnawiany (bez względu na to, czy klucze są ponownie używane), indeks certyfikatu jest zwiększany o jeden, a sufiks nazwy pliku certyfikatu staje się ciągiem formularza "(n)", gdzie n reprezentuje liczbę ponownych prób odnowienia certyfikatu urzędu certyfikacji. Po pierwszym odnowieniu indeks certyfikatu ma wartość 1, a sufiks nazwy pliku certyfikatu to "(1)". Po drugim odnowieniu indeks certyfikatu ma wartość 2, a sufiks nazwy pliku certyfikatu to "(2)" itd.

Mimo że indeks certyfikatu urzędu certyfikacji i sufiks są zwiększane o jeden za każdym razem, gdy urząd certyfikacji jest odnawiany, listy CRL i indeksy kluczy oraz sufiksy nazw plików są ustawiane na indeks certyfikatu urzędu certyfikacji tylko wtedy, gdy proces odnawiania zawiera nową parę kluczy publicznych/prywatnych. Jeśli tak nie jest, wartości tych indeksów i sufiksów pozostają takie same jak w przypadku ostatniego indeksu. Podczas odnawiania administrator określa, czy jest generowana nowa para kluczy, czy używana jest istniejąca para kluczy. (W przystawce MMC urzędu certyfikacji opcja w interfejsie użytkownika określa nową lub istniejącą parę kluczy; w narzędziu Certutil.exe polecenie certutil -renewCert odnawia urząd certyfikacji przy użyciu nowej pary kluczy, podczas gdy polecenie certutil -renewCert ReuseKeys odnawia urząd certyfikacji przy użyciu istniejącej pary kluczy).

Indeks listy CRL jest bezpośrednio powiązany z indeksem kluczy, który jest ustawiony na indeks certyfikatu urzędu certyfikacji tylko wtedy, gdy nowa para kluczy jest używana do odnowienia. Po pierwszym odnowieniu (które używało nowej pary kluczy), indeks listy CRL i klucza jest ustawiony na 1, a sufiks listy CRL i nazwy kontenera klucza to "(1)". Jednak po drugim odnowieniu indeks listy CRL i klucza pozostaje 1, a sufiks listy CRL i nazwy kontenera klucza również pozostaje "(1)"; Jest to spowodowane tym, że drugie odnawianie używane istniejącej pary kluczy i tylko jedna lista CRL jest wystawiana dla każdej pary kluczy urzędu certyfikacji.

Certyfikaty i listy CRL indeksowanego urzędu certyfikacji można pobrać, wywołując metodę GetCertificateProperty (zarówno w ICertServerExit, jak i interfejsach ICertServerPolicy). Po pobraniu niektórych właściwości związanych z certyfikatem urzędu certyfikacji lub listy CRL można dołączyć indeks zerowy certyfikatu urzędu certyfikacji do nazw właściwości. Aby na przykład pobrać indeks listy CRL odpowiadający trzeciemu certyfikatowi urzędu certyfikacji, przekaż właściwość "CRLIndex.2" do ICertServerPolicy::GetCertificateProperty; dla tabeli pobrana wartość właściwości "CRLIndex.2" wynosi 1. Właściwość o nazwie "CertCount" może służyć do określenia, ile razy urząd certyfikacji został wystawiony certyfikat urzędu certyfikacji.

Certyfikaty urzędu certyfikacji i listy CRL zawierają rozszerzenie, które zawiera informacje o certyfikacie i indeksie kluczy. Rozszerzenie jest definiowane w pliku Wincrypt.h jako szOID_CERTSRV_CA_VERSION z wartością "1.3.6.1.4.1.311.21.1". Dane rozszerzenia są wartością DWORD (zakodowaną jako X509_INTEGER w rozszerzeniu); niskie 16 bitów są indeksem certyfikatu, a wysokie 16 bitów to indeks klucza.

Początkowa instalacja urzędu certyfikacji tworzy indeks certyfikatu o wartości zero i indeks klucza o wartości zero. Odnawianie certyfikatu urzędu certyfikacji spowoduje, że indeks certyfikatu będzie zwiększany. Jeśli klucz zostanie ponownie użyty podczas odnawiania, indeks klucza będzie taki sam jak poprzedni indeks klucza. Jeśli klucz nie zostanie użyty ponownie, indeks klucza będzie zgodny z nowym indeksem certyfikatu.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty