Profile certyfikatów S/MIME

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
Można ustawić dowolne inne pozycje bitów

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:
  • 4.9.7. CRL Issuance Frequency
  • 4.9.9. On‐line Revocation/Status Checking Availability
  • 4.9.10. Wymagania dotyczące sprawdzania unieważnienia online
    4.10.2 Dostępność usługi

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:
keyCertSign
Pozycje bitowe mogą być ustawione dla:
cRLSign
digitalSignature
Jeśli jest używany bezpośrednio do podpisywania odpowiedzi OCSP, musi być obecny:
digitalSignature

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
pole pathLenConstraint POWINNO być obecne i POWINNO mieć wartość 0

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.
Jeśli jest obecny, element cps musi zawierać prawidłowy link HTTP lub HTTPS.

Punkty dystrybucji listy CRL Wymagane Nie

Musi być obecny co najmniej jeden publicznie dostępny identyfikator HTTP
uniformResourceIdentifier.

(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:

  • 4.9.7. CRL Issuance Frequency
  • 4.9.9. On‐line Revocation/Status Checking Availability
  • 4.9.10. On‐line Revocation Checking Requirements
  • 4.10.2. Service Availability
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:
digitalSignature
lub
nonRepudiation/contentCommitment
Pozycje bitowe mogą być ustawione dla:
dataEncipherment
keyEncipherment

Inne pozycje bitów nie mogą być ustawione

Użycie klucza (ECDH) Wymagane

Pozycje bitów muszą być ustawione dla:
digitalSignature
Pozycje bitów mogą być ustawione dla:
nonRepudiation/contentCommitment
keyAgreement
encipherOnly (jeśli ustawiono keyAgreement)
decipherOnly (jeśli ustawiono keyAgreement)

Inne pozycje bitów 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

Opcjonalne Dowolne

Jeśli występuje pole cA, nie może mieć wartości true
pole pathLenConstraint nie może występować

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
HTTPuniformResourceIdentifier

(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:

  • 4.9.7. CRL Issuance Frequency
  • 4.9.9. On‐line Revocation/Status Checking Availability
  • 4.9.10. On‐line Revocation Checking Requirements
  • 4.10.2. Service Availability

Alternatywna nazwa podmiotu

Wymagane Nie

Musi zawierać co najmniej 1 element typu rfc822Name.
Nie może zawierać elementów typu:
dNSName
iPAddress
uniformResourceIdentifier
Każda wartość rfc822Name musi zostać zweryfikowana za pomocą publicznie udokumentowanych i poddanych audytowi środków, aby mieć pewność, że podmiot przesyłający żądanie kontroluje konto e-mail powiązane z adresem e-mail lub został upoważniony przez właściciela konta e-mail do działania w jego imieniu.

Inne rozszerzenia

Opcjonalne Nie Może być obecna