Статус документа
Статус документа

Р 1323565.1.020-2020 Информационная технология (ИТ). Криптографическая защита информации. Использование российских криптографических алгоритмов в протоколе безопасности транспортного уровня (TLS 1.2)

     6.4 Выработка и подтверждение ключа

6.4.1 Сообщение с сертификатом сервера Certificate

Данное сообщение посылается сервером и содержит цепочку сертификатов. Сертификат сервера следует первым в данной цепочке и содержит открытый ключ сервера.

Каждый сертификат из цепочки сертификатов сервера должен быть подписан в соответствии с одной из пар алгоритмов из расширения signature_algorithms.

Открытый ключ сервера должен соответствовать одной из пар алгоритмов подписи и хэширования, указанной в расширении signature_algorithms, а также принадлежать одной из эллиптических кривых, описанных в Р 1323565.1.024. При этом алгоритмы подписи, использовавшиеся для подписания сертификатов из цепочки сертификатов сервера, могут отличаться от алгоритма подписи, соответствующего хранящемуся в сертификате сервера открытому ключу сервера.

Структура данного сообщения выглядит следующим образом:

opaque ASN.1Cert<1..2^24-1>;

struct {

ASN.1Cert Certificate_list<0..2^24-1>;

} Certificate;

6.4.2 Сообщение запроса сертификата CertificateRequest

Данное сообщение посылается сервером в случае двусторонней аутентификации.

Сообщение запроса сертификата содержит следующие параметры:

типы сертификатов
(certificate_types)

-

список типов сертификатов, поддерживаемых сервером. Значения элементов списка certificate_types, допустимые к использованию в рамках настоящих рекомендаций, заданы в 10.3;

поддерживаемые алгоритмы подписи и хэширования
(supported_signature_algorithms)

-

пары алгоритмов подписи и хэширования, указывающие на то, с помощью каких алгоритмов могут быть подписаны сертификаты из цепочки сертификатов клиента. Ключ проверки подписи, хранящийся в сертификате клиента, должен также соответствовать одному из алгоритмов подписи (не обязательно тому же, которым подписан сертификат), перечисленных в поле supported_signature_algorithms;

удостоверяющие центры
(certificate_authorities)

-

список допустимых удостоверяющих центров (УЦ), представленных в формате кодирования DER. Данный список может задавать допустимые имена для корневых УЦ или для подчиненных УЦ. Если данное поле остается пустым, то клиент может посылать любой сертификат, соответствующий полю certificate_types.



Структура данного сообщения выглядит следующим образом:

struct {

ClientCertificateType Certificate types<1..2^8-1>;

SignatureAndHashAlgorithm

supported signature algorithms<2..2^16-2>;

DistinguishedName certificate authorities<0..2^16-1>;

} CertificateRequest;

Структура SignatureAndHashAlgorithm задана в 6.3.4.1.

Тип DistinguishedName определен следующим образом:

opaque DistinguishedName<1..2^16-1>;

6.4.3 Сообщение о завершении приветствия ServerHelloDone

Данное сообщение посылается сервером и сигнализирует о том, что все сообщения этапа приветствия переданы и сервер переходит в состояние ожидания сообщений от клиента. Структура данного сообщения выглядит следующим образом:

struct { } ServerHelloDone;