Profile certyfikatów S/MIME

W tym artykule znajdziesz opis wymagań, które musi spełnić każdy certyfikat w łańcuchu X.509, aby można było zaufać mu w kontekście e-maila zaszyfrowanego lub podpisanego przy użyciu S/MIME.

Dodatkowo łańcuch musi być powiązany z certyfikatem urzędu certyfikacji (certyfikatem CA) jednoznacznie oznaczonym w tym celu przez Google jako zaufany. Możesz też zaakceptować certyfikaty główne urzędów certyfikacji, którym ufasz. Więcej informacji znajdziesz w artykule Wskazówki dotyczące certyfikatów głównych.

Uwagi:

  • Google udostępnia i obsługuje listę certyfikatów CA, które zostały oznaczone przez Gmaila jako zaufane 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 i bez powiadomienia.
  • Upewnij się, że zainstalowane rozszerzenia nie wchodzą w konflikt z innymi rozszerzeniami w ramach tego samego certyfikatu. Jeśli na przykład zdefiniowano elementy nsCertType, muszą one obejmować te same zastosowania co zwiększone wykorzystanie kluczy, rozszerzenie zwiększonego wykorzystania kluczy i zwiększone ograniczenia podstawowe.

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.

informacja 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

Skorzystaj z tych informacji, gdy między głównym urzędem certyfikacji a jednostką końcową istnieje co najmniej 1 przejściowy urząd certyfikacji (bezpośrednio lub pośrednio).

Wystawiający przejściowy urząd certyfikacji to ten przejściowy urząd certyfikacji, który wystawia certyfikat jednostki końcowej. Informacje w tej sekcji dotyczą wszystkich pośrednich urzędów certyfikacji w łańcuchu, które nie są wystawiającym przejściowym urzędem certyfikacji.

Pole Wartość
Wersja Wersja 3
Numer seryjny Wartość 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
informacja o kluczu publicznym podmiotu

rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1.

Rozszerzenie Obecność Ważne Wartość
Użycie klucza Wymagane Tak

Pozycje bitów muszą być ustawione dla: keyCertSign
Mogą zostać ustawione inne pozycje bitów

Podstawowe ograniczenia Wymagane Tak Wartością w polu cA musi być „prawda”
Pole pathLenConstraint powinno być obecne
Punkty dystrybucji listy CRL Wymagane Nie

Musi być obecny co najmniej 1 publicznie dostępny
identyfikator HTTPuniformResourceIdentifier

(uwaga) Serwery odwołań muszą być zgodne 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 Może być obecna

Certyfikat przejściowego urzędu certyfikacji wystawiającego 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 posłużyć do wystawiania certyfikatów jednostki końcowej.

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

Powinna wskazywać użycie urzędu certyfikacji.

informacja o kluczu publicznym podmiotu

rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1.

Rozszerzenie Obecność Ważne Wartość
Użycie klucza Wymagane Tak

Pozycje bitów muszą być ustawione dla:
keyCertSign
Pozycje bitów mogą być ustawione dla:
cRLSign
digitalSignature
W przypadku bezpośredniego używania do podpisywania odpowiedzi protokołu OCSP obecne musi być:
digitalSignature

Inne pozycje bitów nie mogą być ustawione

Rozszerzone użycie klucza Wymagane Oba modele Te elementy muszą być obecne:
emailProtection
Te elementy nie mogą być obecne:
serverAuth
codeSigning
timeStamping
anyExtendedKeyUsage

Podstawowe ograniczenia

Wymagane Tak

Wartością w polu cA musi być „prawda”
Pole pathLenConstraint POWINNO być obecne i POWINNO mieć wartość 0

Zasady certyfikatu Opcjonalny Nie

Identyfikator policyIdentifier określający zasady, którymi objęty jest urząd certyfikacji, POWINIEN zostać podany i NIE POWINIEN być to anyPolicy.
W polu cps, jeśli istnieje, musi być zawarty prawidłowy link HTTP lub HTTPS.

Punkty dystrybucji listy CRL Wymagane Nie

Musi być obecny co najmniej 1 publicznie dostępny
identyfikator HTTPuniformResourceIdentifier.

(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 Opcjonalny 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: wartość zostanie zaktualizowana w celu odzwierciedlenia wymagań, które dotyczą entropii numerów seryjnych jednostek końcowych i które określono w dokumencie Baseline Requirements Certificate Policy organizacji 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ą. Informacje o dopuszczalnej procedurze znajdziesz w sekcji 3.2.3 „Authentication of Individual Identity” dokumentu Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (w wersji 1.3.2 lub nowszych) organizacji CA/Browser Forum.

Adresy e-mail (na przykład w polu commonName lub emailAddress) muszą znajdować się także w rozszerzeniu Alternatywna nazwa podmiotu jako rfc822Name.

informacja o kluczu publicznym podmiotu

rsaEncryption z wartością RSA 2048, 3072 lub 4096. Ewentualnie ecPublicKey z secp256r1 lub secp384r1.

Rozszerzenie Obecność Ważne Wartość
Użycie klucza (RSA) Wymagane Tak

Pozycje bitów muszą być ustawione dla:
digitalSignature
lub dla:
nonRepudiation/contentCommitment
Pozycje bitów 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 ustawiona jest wartość keyAgreement)
decipherOnly (jeśli ustawiona jest wartość keyAgreement)

Inne pozycje bitów nie mogą być ustawione.

Rozszerzone użycie klucza Wymagane Oba modele

Te elementy muszą być obecne:
emailProtection
Te elementy nie mogą być obecne:
serverAuth
codeSigning
timeStamping
anyExtendedKeyUsage

Podstawowe ograniczenia

Opcjonalny Oba modele

Jeśli wartość jest obecna, wartością pola cA nie może być „prawda”
Pole pathLenConstraint nie może być obecne

Zasady certyfikatu Wymagane Nie

Musi być obecna: identyfikator policyIdentifier określający zasady, zgodnie z którymi wystawiono certyfikat, musi zostać podany i nie może być to anyPolicy.

Musi być obecna: w cps, jeśli istnieje, musi być zawarty prawidłowy link HTTP lub HTTPS do dokumentu CPS, na podstawie którego wystawiono certyfikat.

Dostęp do informacji o urzędach

Opcjonalny Nie

caIssuers i, jeśli istnieje, ocsp muszą zawierać co najmniej 1 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 1 publicznie dostępny
identyfikator HTTPuniformResourceIdentifier

(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

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 nazwa rfc822Name musi być zweryfikowana za pomocą publicznie udokumentowanych i sprawdzonych metod, aby mieć pewność, że podmiot przesyłający prośbę 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

Opcjonalny Nie Może być obecna.