В этой статье описаны требования, которым должен отвечать каждый сертификат в цепочке X.509, чтобы считаться доверенным для шифрования или подписи электронной почты по стандарту S/MIME.
Цепочка должна вести к сертификату центра сертификации (ЦС), который Google явным образом принимает за доверенный для этой цели. Вы также можете выбрать, сертификаты каких корневых ЦС будут считаться доверенными. Подробнее о корневых сертификатах…
Примечания
- Google предоставляет и обслуживает сертификаты доверенных ЦС, которые используются для шифрования S/MIME в Gmail. Компания Google по собственному усмотрению решает, какие ЦС считать доверенными, и оставляет за собой право удалять сертификаты из этого списка в любое время без объяснения причин.
- Убедитесь, что установленные расширения не противоречат другим расширениям в сертификате. Например, если значения параметра nsCertTypes определены, они должны распространяться на те же сценарии использования, что и расширения Key Usage, Extended Key Usage и Basic Constraints.
Правила цепочки сертификатов
Сертификат корневого ЦС
Поле | Значение |
---|---|
Уникальное имя эмитента |
Должно указывать на конкретный ЦС. В частности, не допускается использование обобщенных имен, таких как Certificate Authority (Центр сертификации). |
Уникальное имя субъекта |
Зашифрованное имя должно побайтово совпадать с уникальным именем эмитента. |
Информация об открытом ключе субъекта |
Шифрование rsaEncryption с ключом RSA длиной 2048, 3072 или 4096 бит либо ecPublicKey с использованием кривой secp256r1 или secp384r1. |
Сертификаты промежуточных ЦС (не промежуточных эмитентов)
Используйте эту таблицу, если между корневым ЦС и конечным субъектом прямо или косвенно присутствует несколько промежуточных ЦС.
Промежуточным эмитентом считается ЦС, который выдает сертификат конечному субъекту. Этот раздел касается любых промежуточных ЦС в цепочке, кроме промежуточных эмитентов.
Поле | Значение | ||
---|---|---|---|
Версия | Версия 3 | ||
Серийный номер | Значение должно быть больше нуля, а если параметр DER зашифрован как INTEGER, его длина не должна превышать 20 Б. | ||
Алгоритм подписи | RSA с ключом SHA‐256, SHA‐384 или SHA‐512 либо ECDSA с ключом SHA‐256, SHA‐384 или SHA‐512. | ||
Уникальное имя эмитента |
Должно побайтово совпадать с уникальным именем субъекта, принадлежащим эмитенту. |
||
Период действия | Не задан. | ||
Уникальное имя субъекта | Не задано. | ||
Информация об открытом ключе субъекта |
Шифрование rsaEncryption с ключом RSA длиной 2048, 3072 или 4096 бит либо ecPublicKey с использованием кривой secp256r1 или secp384r1. |
||
Расширение | Тип поля | Критично | Значение |
Назначение ключа | Обязательное | Да |
Должны быть установлены позиции для следующего бита: keyCertSign. |
Базовые ограничения | Обязательное | Да | Для поля "cA" должно быть установлено значение "true". Должно присутствовать поле "pathLenConstraint". |
Точки распространения списков отзыва сертификатов | Обязательное | Нет |
Должен присутствовать хотя бы один URI (uniformResourceIdentifier), доступный по протоколу HTTP. |
Примечание | Серверы отзыва должны работать в соответствии с перечисленными ниже разделами Правил консорциума CA/Browser Forum в отношении базовых требований к выпуску и управлению общедоступными доверенными сертификатами (CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates) версии 1.3.2 или более поздней.
|
||
Другие расширения | Могут присутствовать. |
Сертификаты промежуточных ЦС, выдаваемые конечному субъекту
Важно! В цепочке обязательно должен присутствовать хотя бы один сертификат промежуточных ЦС. Недопустимо, чтобы корневой ЦС выдавал сертификаты непосредственно конечным субъектам.
Поле | Значение | ||
---|---|---|---|
Версия | Версия 3 | ||
Серийный номер | Значение должно быть больше нуля, а если параметр DER зашифрован как INTEGER, его длина не должна превышать 20 Б. | ||
Алгоритм подписи |
RSA с ключом SHA‐256, SHA‐384 или SHA‐512 либо ECDSA с ключом SHA‐256, SHA‐384 или SHA‐512. |
||
Уникальное имя эмитента |
Должно побайтово совпадать с уникальным именем субъекта, принадлежащим эмитенту. |
||
Период действия |
Разница значений параметров notBefore и notAfter. Не рекомендуется, чтобы она превышала 10 лет. Разница более 20 лет недопустима. |
||
Уникальное имя субъекта |
Должно указывать на использование ЦС. |
||
Информация об открытом ключе субъекта |
Шифрование rsaEncryption с ключом RSA длиной 2048, 3072 или 4096 бит либо ecPublicKey с использованием кривой secp256r1 или secp384r1. |
||
Расширение | Тип поля | Критично | Значение |
Назначение ключа | Обязательное | Да |
Должны быть установлены позиции для следующего бита: Остальные позиции устанавливать нельзя. |
Расширенное назначение ключа | Обязательное | Не важно | Должен присутствовать следующий бит: emailProtection Не должны присутствовать следующие биты: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
Базовые ограничения |
Обязательное | Да |
Для поля "cA" должно быть установлено значение "true". |
Политики сертификатов | Необязательно | Нет |
ДОЛЖЕН БЫТЬ задан параметр policyIdentifier, который определяет правила, регулирующие работу ЦС. НЕЛЬЗЯ указывать для него значение anyPolicy. |
Точки распространения списков отзыва сертификатов | Обязательное | Нет |
Должен присутствовать хотя бы один URI (uniformResourceIdentifier), доступный по протоколу HTTP. |
Примечание |
Серверы отзыва должны работать в соответствии с перечисленными ниже разделами Правил консорциума CA/Browser Forum в отношении базовых требований к выпуску и управлению общедоступными доверенными сертификатами (CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates) версии 1.3.2 или более поздней.
|
||
Другие расширения | Необязательно | Нет |
Могут присутствовать. |
Сертификат конечного субъекта
Поле | Значение | ||
---|---|---|---|
Версия | Версия 3 | ||
Серийный номер |
Должен быть больше нуля и содержать не менее 64 непредсказуемых битов. Примечание. Информация в этой ячейке будет обновлена в соответствии с требованиями к непредсказуемости серийного номера конечного субъекта, определенными в Правилах консорциума CA/Browser Forum в отношении сертификатов (CA/Browser Forum Baseline Requirements Certificate Policy). |
||
Алгоритм подписи | RSA с ключом SHA‐256, SHA‐384 или SHA‐512 либо ECDSA с ключом SHA‐256, SHA‐384 или SHA‐512. | ||
Уникальное имя эмитента |
Должно побайтово совпадать с уникальным именем субъекта, принадлежащим эмитенту. |
||
Период действия |
Разница значений параметров notBefore и notAfter не должна превышать 27 месяцев. Значение параметра notBefore должно отличаться от времени подписи не более чем на 48 часов. |
||
Уникальное имя субъекта |
Подлинность всех уникальных имен субъекта, кроме адреса электронной почты, должна тщательно проверяться перед выдачей с использованием общепринятых процедур аутентификации. Подробную информацию можно найти в разделе 3.2.3. "Установление подлинности физического лица" (Authentication of Individual Identity) Правил консорциума CA/Browser Forum в отношении базовых требований к выпуску и управлению общедоступными доверенными сертификатами (CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates) версии 1.3.2 или более поздней. Все адреса электронной почты (например, содержащиеся в полях "commonName" или "emailAddress") должны также присутствовать в поле "rfc822Name" расширения "Альтернативное имя субъекта". |
||
Информация об открытом ключе субъекта |
Шифрование rsaEncryption с ключом RSA длиной 2048, 3072 или 4096 бит либо ecPublicKey с использованием кривой secp256r1 или secp384r1. |
||
Расширение | Тип поля | Критично | Значение |
Назначение ключа (RSA) | Обязательное | Да |
Должны быть установлены позиции для следующих битов: Остальные позиции устанавливать нельзя. |
Назначение ключа (ECDH) | Обязательное |
Должны быть установлены позиции для следующего бита: Остальные позиции устанавливать нельзя. |
|
Расширенное назначение ключа | Обязательное | Не важно |
Должен присутствовать следующий бит: |
Базовые ограничения |
Необязательно | Не важно |
Если есть поле "cA", для него не должно быть установлено значение "true". |
Политики сертификатов | Обязательное | Нет |
Должен быть задан параметр policyIdentifier, который определяет правила, регулирующие работу ЦС. Нельзя указывать для него значение anyPolicy. Если есть параметр cps, он должен содержать действительную HTTP- или HTTPS-ссылку на соответствующее положение об использовании сертификата. |
Доступ к информации о ЦС |
Необязательно | Нет |
Параметры caIssuers и ocsp (при его наличии) должны содержать хотя бы один URI (uniformResourceIdentifier), доступный по протоколу HTTP. Поле "AccessDescription" не должно содержать никаких ярлыков или параметров, позволяющих идентифицировать конкретный сертификат. |
Точки распространения списков отзыва сертификатов | Обязательное | Нет |
Должен присутствовать хотя бы один URI (uniformResourceIdentifier), доступный по протоколу HTTP. |
Примечание |
Серверы отзыва должны работать в соответствии с перечисленными ниже разделами Правил консорциума CA/Browser Forum в отношении базовых требований к выпуску и управлению общедоступными доверенными сертификатами (CA/Browser Forum Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates) версии 1.3.2 или более поздней.
|
||
Альтернативное имя субъекта |
Обязательное | Нет |
Должно содержать хотя бы один элемент типа "rfc822Name". |
Другие расширения |
Необязательно | Нет | Могут присутствовать. |