2011-07-07 15 views
27

Czy długość ścieżki 0 i Brak jest taka sama dla podstawowych ograniczeń typu CA? W celu wyjaśnienia, czy długość ścieżki wynosząca 0 oznacza, że ​​urząd certyfikacji nie może wydać żadnych certyfikatów, podczas gdy długość ścieżki nie oznacza, że ​​może wystawiać nieskończoną liczbę certyfikatów?Certyfikaty Długość podstawowego ograniczenia więzów

Odpowiedz

39

Zrobione z RFC 5280, sekcja 4.2.1.9:

pathLenConstraint od zera oznacza, że ​​nie ma non-self-wydane certyfikaty CA pośrednie mogą następować w ważnej ścieżki certyfikacji. Gdzie się pojawi, pole pathLenConstraint MUSI być większe lub równe zero. Tam, gdzie ścieżkaLenConstraint się nie pojawia, nie jest nakładany żaden limit.

tj. pathLenConstraint z 0 nadal pozwala CA wydawać certyfikaty, ale te certyfikaty muszą być certyfikatami jednostek końcowych (flaga CA w BasicConstraints jest fałszywa - są to "normalne" certyfikaty wydawane osobom lub organizacjom).

Oznacza to również, że za pomocą tego certyfikatu urząd certyfikacji nie może wydawać pośrednich certyfikatów urzędu certyfikacji (w przypadku gdy flaga urzędu certyfikacji jest znowu prawdziwa - są to certyfikaty, które mogą potencjalnie wystawiać kolejne certyfikaty, zwiększając tym samym liczbę 12,).

Z drugiej strony brak numeru pathLenConstraint oznacza, że ​​nie ma ograniczeń, biorąc pod uwagę długość ścieżek certyfikatów zbudowanych na certyfikacie jednostki końcowej, która prowadziłaby do naszego przykładowego certyfikatu CA. Oznacza to, że urząd certyfikacji może wydać certyfikat pośredni dla podrzędnego urzędu certyfikacji, ten podrzędny urząd certyfikacji może ponownie wystawić certyfikat pośredni, ten podrzędny urząd certyfikacji może ponownie ... aż w końcu jeden podrzędny urząd certyfikacji wyda certyfikat podmiotu końcowego.

Jeśli pathLenConstraint danego certyfikatu urzędu certyfikacji ma wartość> 0, wówczas wyraża liczbę możliwych pośrednich certyfikatów CA w ścieżce zbudowanej na certyfikacie jednostki końcowej aż do certyfikatu urzędu certyfikacji. Powiedzmy, że CA X ma pathLenConstraint z 2, certyfikat jednostki końcowej jest wystawiony na EE. Wtedy następujące scenariusze są ważne (I oznaczający pośredni certyfikat CA)

X - EE 
X - I1 - EE 
X - I1 - I2 - EE 

ale to i te scenariusze z jeszcze bardziej pośredniej urzędów nie są

X - I1 - I2 - I3 - EE 
... 
+0

Więc jak można powiedzieć, że zaświadczenie może wystawić Nie certyfikaty? – Rory

+0

@Rory, robisz to, upewniając się, że certyfikat NIE jest certyfikatem urzędu certyfikacji (tj. Ustawiaj atrybut cA na wartość false i upewnij się, że bit keyCertSign w rozszerzeniu użycia klucza NIE jest podany). – Hmmmmm

+3

Czy pośrednie certyfikaty I1, I2 itd. Mogą zdefiniować własną ścieżkęLenConstraint? –

Powiązane problemy