W tym artykule opisujemy wymagania, które musi spełniać każdy certyfikat w łańcuchu X.509, aby był zaufany do użycia z zaszyfrowanymi lub podpisanymi przy użyciu S/MIME e-mailami.
Oprócz tych wymagań łańcuch musi być zakotwiczony w certyfikacie urzędu certyfikacji (CA), który jest wyraźnie uznawany przez Google za zaufany do tego celu. Możesz też zaakceptować certyfikaty główne urzędów certyfikacji, którym ufasz. Więcej informacji znajdziesz w wytycznych dotyczących certyfikatu głównego.
Uwagi:
- Google udostępnia i utrzymuje listę certyfikatów CA zaufanych przez Gmaila na potrzeby obsługi S/MIME. Google zarządza listą zaufanych urzędów certyfikacji według własnego uznania. Google zachowuje prawo do usunięcia głównych urzędów certyfikacji w dowolnym momencie bez powiadomienia.
- Upewnij się, że zainstalowane rozszerzenia nie są sprzeczne z innymi rozszerzeniami w tym samym certyfikacie. Jeśli na przykład zdefiniowano nsCertTypes, muszą one obejmować dokładnie te same zastosowania co rozszerzenie użycia klucza, rozszerzone rozszerzenie użycia klucza i rozszerzenie podstawowych ograniczeń.
Reguły łańcucha certyfikatów
Główny urząd certyfikacji
| Pole | Wartość |
|---|---|
|
Nazwa wyróżniająca wystawcy |
W tym polu musi być zidentyfikowany urząd certyfikacji. Nazwą wyróżniającą nie może być nazwa ogólna, na przykład „Urząd certyfikacji”. |
|
Nazwa wyróżniająca podmiotu |
Zakodowana postać musi być identyczna pod względem bajtów z nazwą wyróżniającą wystawcy. |
|
Informacje o kluczu publicznym podmiotu |
rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1. |
Certyfikaty przejściowych urzędów certyfikacji, które nie pochodzą z wystawiających przejściowych urzędów certyfikacji
Użyj tych informacji, jeśli między certyfikatem głównym a podmiotem końcowym znajduje się bezpośrednio lub pośrednio więcej niż 1 pośredni urząd certyfikacji.
Wystawiający przejściowy urząd certyfikacji to ten przejściowy urząd certyfikacji, który wystawia certyfikat jednostki końcowej. Ta sekcja dotyczy wszystkich pośrednich urzędów certyfikacji w łańcuchu z wyjątkiem wydającego pośredniego urzędu certyfikacji.
| Pole | Wartość | ||
|---|---|---|---|
| Wersja | Wersja 3 | ||
| Numer seryjny | Musi być większa niż zero (0). W przypadku kodowania DER w postaci LICZBY CAŁKOWITEJ musi mieć rozmiar maksymalnie 20 bajtów. | ||
| Algorytm podpisu | RSA z SHA‐256, SHA‐384 lub SHA‐512. Ewentualnie ECDSA z SHA‐256, SHA‐384 lub SHA‐512. | ||
| Nazwa wyróżniająca wystawcy |
Musi być identyczna pod względem bajtów z nazwą wyróżniającą podmiotu wystawiającego urzędu certyfikacji. |
||
| Okres ważności | Nie określono | ||
| Nazwa wyróżniająca podmiotu | Nie określono | ||
| Informacje o kluczu publicznym podmiotu |
rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1. |
||
| Rozszerzenie | Obecność | Krytyczne | Wartość |
| Użycie klucza | Wymagane | Tak |
Należy ustawić pozycje bitów dla: keyCertSign |
| Podstawowe ograniczenia | Wymagane | Tak | Pole cA musi mieć wartość true pole pathLenConstraint powinno być obecne |
| Punkty dystrybucji listy CRL | Wymagane | Nie |
Musi być obecny co najmniej jeden publicznie dostępny identyfikator URI HTTP |
| (uwaga) | Serwery odwołań muszą być zgodne z tymi sekcjami zasad dotyczących certyfikatów,które zostały opracowane przez CA/Browser Forum i określają podstawowe wymagania dotyczące wydawania certyfikatów publicznie zaufanych i zarządzania nimi w wersji 1.3.2 lub nowszej:
|
||
| Inne rozszerzenia | Może być obecna | ||
Pośredni urząd certyfikacji wystawiający certyfikat jednostki końcowej
Ważne: w łańcuchu musi znajdować się co najmniej 1 certyfikat przejściowego urzędu certyfikacji. Oznacza to, że główny urząd certyfikacji nie może bezpośrednio wystawiać certyfikatów podmiotu końcowego.
| Pole | Wartość | ||
|---|---|---|---|
| Wersja | Wersja 3 | ||
| Numer seryjny | Wartość musi być większa niż zero (0), a w przypadku kodowania DER w postaci LICZBY CAŁKOWITEJ musi mieć rozmiar maksymalnie 20 bajtów. | ||
| Algorytm podpisu |
RSA z SHA‐256, SHA‐384 lub SHA‐512. Ewentualnie ECDSA z SHA‐256, SHA‐384 lub SHA‐512. |
||
| Nazwa wyróżniająca wystawcy |
Musi być identyczna pod względem bajtów z nazwą wyróżniającą podmiotu wystawiającego urzędu certyfikacji. |
||
| Okres ważności |
Różnica między notBefore i notAfter Różnica nie powinna być większa niż 10 lat i nie może być większa niż 20 lat. |
||
| Nazwa wyróżniająca podmiotu |
Powinien wskazywać użycie urzędu certyfikacji. |
||
| Informacje o kluczu publicznym podmiotu |
rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1. |
||
| Rozszerzenie | Obecność | Krytyczne | Wartość |
| Użycie klucza | Wymagane | Tak |
Pozycje bitowe muszą być ustawione dla: Inne pozycje bitu nie mogą być ustawione |
| Rozszerzone użycie klucza | Wymagane | Dowolne | Musi być obecny: emailProtection Nie może być obecny: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
|
Podstawowe ograniczenia |
Wymagane | Tak |
Pole cA musi mieć wartość true |
| Zasady certyfikatu | Opcjonalne | Nie |
Należy podać identyfikator zasady, który określa zasady, zgodnie z którymi działa urząd certyfikacji, i nie powinien on być równy anyPolicy. |
| Punkty dystrybucji listy CRL | Wymagane | Nie |
Musi być obecny co najmniej jeden publicznie dostępny identyfikator HTTP |
| (uwaga) |
Serwery odwołań muszą działać zgodnie z wymienionymi niżej sekcjami dokumentu Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (w wersji 1.3.2 i nowszych) organizacji CA/Browser Forum:
|
||
| Inne rozszerzenia | Opcjonalne | Nie |
Może być obecna |
Certyfikat jednostki końcowej
| Pole | Wartość | ||
|---|---|---|---|
| Wersja | Wersja 3 | ||
| Numer seryjny |
Musi być większa niż zero (0) i musi zawierać co najmniej 64 niemożliwe do przewidzenia bity. Uwaga: zostanie zaktualizowana, aby odzwierciedlać wymagania dotyczące entropii numeru seryjnego podmiotu końcowego określone w zasadach dotyczących certyfikatów zgodnych z wymaganiami podstawowymi CA/Browser Forum. |
||
| Algorytm podpisu | RSA z SHA‐256, SHA‐384 lub SHA‐512. Ewentualnie ECDSA z SHA‐256, SHA‐384 lub SHA‐512. | ||
| Nazwa wyróżniająca wystawcy |
Musi być identyczna pod względem bajtów z nazwą wyróżniającą podmiotu wystawiającego urzędu certyfikacji. |
||
| Okres ważności |
Różnice między notBefore i notAfter nie mogą być większe niż 27 miesięcy. Czas notBefore musi odzwierciedlać czas podpisu (plus minus 48 godzin). |
||
| Nazwa wyróżniająca podmiotu |
Względne nazwy wyróżniające podmiotu inne niż adres e-mail muszą zostać dokładnie sprawdzone przed wydaniem zgodnie z publicznie udokumentowaną i skontrolowaną procedurą. Odpowiednią procedurę znajdziesz w sekcji 3.2.3 „Authentication of Individual Identity” (Uwierzytelnianie tożsamości osoby) w zasadach dotyczących certyfikatów CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates w wersji 1.3.2 lub nowszej. Adresy e-mail (na przykład w polu commonName lub emailAddress) muszą znajdować się także w rozszerzeniu Alternatywna nazwa podmiotu jako rfc822Name. |
||
| Informacje o kluczu publicznym podmiotu |
rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1. |
||
| Rozszerzenie | Obecność | Krytyczne | Wartość |
| Użycie klucza (RSA) | Wymagane | Tak |
Pozycje bitowe muszą być ustawione dla: Inne pozycje bitów nie mogą być ustawione |
| Użycie klucza (ECDH) | Wymagane |
Pozycje bitów muszą być ustawione dla: Inne pozycje bitów nie mogą być ustawione |
|
| Rozszerzone użycie klucza | Wymagane | Dowolne |
Musi być obecny: |
|
Podstawowe ograniczenia |
Opcjonalne | Dowolne |
Jeśli występuje pole cA, nie może mieć wartości true |
| Zasady certyfikatu | Wymagane | Nie |
Musi być obecny: należy podać identyfikator zasady, który określa zasadę, zgodnie z którą wydano certyfikat, i nie może to być anyPolicy. Może występować: cps. Jeśli występuje, musi zawierać prawidłowy link HTTP lub HTTPS do zasad certyfikacji, na podstawie których wydano certyfikat. |
|
Dostęp do informacji o urzędach |
Opcjonalne | Nie |
caIssuers i ocsp (jeśli występuje) muszą zawierać co najmniej jeden publicznie dostępny identyfikator HTTP uniformResourceIdentifier. AccessDescription nie może zawierać żadnych etykiet ani parametrów związanych z konkretnym certyfikatem. |
| Punkty dystrybucji listy CRL | Wymagane | Nie |
Musi być obecny co najmniej jeden publicznie dostępny |
|
(uwaga) |
Serwery unieważniania muszą działać zgodnie z tymi sekcjami zasad certyfikacji CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates w wersji 1.3.2 lub nowszej:
|
||
|
Alternatywna nazwa podmiotu |
Wymagane | Nie |
Musi zawierać co najmniej 1 element typu rfc822Name. |
|
Inne rozszerzenia |
Opcjonalne | Nie | Może być obecna |