Главная // Актуальные документы // ПриказСПРАВКА
Источник публикации
М.: ФГБУ "РСТ", 2022
Примечание к документу
Документ
введен в действие с 01.04.2022.
Название документа
"Р 1323565.1.023-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509"
(утв. и введены в действие Приказом Росстандарта от 09.03.2022 N 123-ст)
"Р 1323565.1.023-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509"
(утв. и введены в действие Приказом Росстандарта от 09.03.2022 N 123-ст)
Утверждены и введены в действие
агентства по техническому
регулированию и метрологии
от 9 марта 2022 г. N 123-ст
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
ИСПОЛЬЗОВАНИЕ АЛГОРИТМОВ ГОСТ Р 34.10-2012,
ГОСТ Р 34.11-2012 В СЕРТИФИКАТЕ, СПИСКЕ АННУЛИРОВАННЫХ
СЕРТИФИКАТОВ (CRL) И ЗАПРОСЕ НА СЕРТИФИКАТ PKCS #10
ИНФРАСТРУКТУРЫ ОТКРЫТЫХ КЛЮЧЕЙ X.509
Information technology. Cryptographic information security.
Usage of GOST R 34.10-2012 and GOST R 34.11-2012 algorithms
in certificate, CRL and PKCS#10 certificate request
in X.509 public key infrastructure
Р 1323565.1.023-2022
Дата введения
1 апреля 2022 года
1 РАЗРАБОТАНЫ Акционерным обществом "Информационные технологии и коммуникационные системы (АО "ИнфоТеКС")
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ
Приказом Федерального агентства по техническому регулированию и метрологии от 9 марта 2022 г. N 123-ст
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок -
в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования -
на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
Настоящие рекомендации содержат описание форматов кодирования, идентификаторов и форматов параметров для алгоритмов
ГОСТ Р 34.10-2012 и
ГОСТ Р 34.11-2012 при их использовании на территории Российской Федерации, в учреждениях Российской Федерации за рубежом и в находящихся за рубежом обособленных подразделениях юридических лиц, образованных в соответствии с законодательством Российской Федерации.
Необходимость разработки новой версии настоящих рекомендаций вызвана потребностью в обеспечении совместимости использования российских алгоритмов подписи
ГОСТ Р 34.10-2012, алгоритмов функции хэширования
ГОСТ Р 34.11-2012, алгоритмов согласования ключей в инфраструктуре открытых ключей (PKI), а также принятием алгоритмов шифрования
ГОСТ Р 34.12-2015 и режимов шифрования
ГОСТ Р 34.13-2015.
Настоящие рекомендации являются дополнением к
ГОСТ Р ИСО/МЭК 9594-8. В рекомендациях описываются правила использования алгоритма подписи
ГОСТ Р 34.10 и функции хэширования
ГОСТ Р 34.11 в инфраструктуре открытых ключей (PKI) X.509.
Для ключей, соответствующих алгоритму подписи
ГОСТ Р 34.10, определены идентификаторы алгоритмов и соответствующих им параметров. Также в документе указаны идентификаторы алгоритмов функции хэширования
ГОСТ Р 34.11 с алгоритмом подписи
ГОСТ Р 34.10.
В документе определено содержимое полей signature, signatureAlgorithm и subjectPublicKey в сертификатах X.509, списках аннулированных сертификатов и запросах на сертификаты PKCS #10.
В настоящих рекомендациях использованы нормативные ссылки на следующие стандарты:
ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи
ГОСТ Р 34.11 Информационная технология. Криптографическая защита информации. Функция хэширования
ГОСТ Р ИСО/МЭК 8824-1 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации
ГОСТ Р ИСО/МЭК 8825-1-2003 Информационная технология. Правила кодирования АСН.1. Часть 1. Спецификация базовых (BER), канонических (CER) и отличительных (DER) правил кодирования
ГОСТ Р ИСО/МЭК 9594-8-98 Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 8. Основы аутентификации
Р 50.1.113 Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хэширования
Р 1323565.1.024 Информационная технология. Криптографическая защита информации. Параметры эллиптических кривых для криптографических алгоритмов и протоколов
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
В настоящих рекомендациях применены следующие термины с соответствующими определениями.
3.2
DER: Правило кодирования структур данных, созданных в соответствии с АСН.1, описанное в
[1].
Примечание - В настоящих рекомендациях термины "ключ проверки подписи" и "ключ подписи", введенные в
ГОСТ Р 34.10, являются синонимами терминов "открытый ключ" и "закрытый ключ" соответственно.
Механизм информационного обмена при использовании сертификатов описывается следующим образом:
- субъект формирует запрос на сертификат в соответствии с
4.1 и посылает данный запрос удостоверяющему центру (УЦ);
- УЦ формирует на основании данного запроса сертификат с открытым ключом в формате X.509 в соответствии с
4.2 и посылает его субъекту;
- для отзыва сертификатов до истечения срока их действия УЦ формирует список аннулированных сертификатов в соответствии с
4.3.
Запрос на сертификат представляет собой структуру CertificationRequest в формате АСН.1 (см.
[2]):
CertificationRequest ::= SEQUENCE
{
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm AlgorithmIdentifier
{{SignatureAlgorithms}},
signature BIT STRING
}
Поля структуры имеют следующие значения:
certificationRequestInfo - информация запроса на сертификат, содержащая, в частности, открытый ключ субъекта, сформированная в соответствии с
4.1.1;
signatureAlgorithm - информация об алгоритме подписи, который использовался при формировании подписи данных поля certificationRequestInfo структуры CertificationRequest, сформированная в соответствии с
4.1.2;
signature - подпись данных поля certificationRequestInfo структуры CertificationRequest, сформированная в соответствии с
4.1.3.
4.1.1 Поле certificationRequestInfo структуры CertificationRequest
Поле certificationRequestInfo структуры CertificationRequest задается структурой CertificationRequestInfo в формате АСН.1:
CertificationRequestInfo ::= SEQUENCE
{
version INTEGER { v1(0) } (v1, ...),
subject Name,
subjectPKInfo SubjectPublicKeyInfo{{PKInfoAlgorithms}},
attributes[0] Attributes{{CRIAttributes}}
}
Поля структуры имеют следующие значения:
version - номер версии стандарта. Для стандарта PKCS #10 v1.7 данное поле должно принимать значение 0;
subject - имя субъекта, чей открытый ключ используется для формирования сертификата;
subjectPKInfo - набор элементов, содержащих информацию об открытом ключе сертификата и сам ключ;
attributes - набор атрибутов.
Более подробное описание полей структуры CertificationRequestInfo можно найти в
[2]. Поле subjectPKInfo структуры CertificationRequestInfo задается структурой SubjectPublicKeyInfo в соответствии с
5.2.
4.1.2 Поле signatureAlgorithm структуры CertificationRequest
Поле signatureAlgorithm структуры CertificationRequest задается структурой AlgorithmIdentifier, описанной в
5.1.1, и содержит информацию об алгоритме подписи, который использовался при формировании поля signature структуры CertificationRequest (см.
4.1.3). При этом используемый алгоритм подписи должен соответствовать открытому ключу субъекта, указанному в поле subjectPublicKey структуры SubjectPublicKeyInfo (см.
5.2.2).
4.1.3 Поле signature структуры CertificationRequest
Поле signature структуры CertificationRequest содержит подпись значения поля certificationRequestInfo структуры CertificationRequest, закодированного в формате DER. Значение подписи формируется в соответствии с алгоритмом, указанным в поле signatureAlgorithm структуры CertificationRequest на закрытом ключе субъекта, соответствующем открытому ключу субъекта, указанному в поле subjectPublicKey структуры SubjectPublicKeyInfo (см.
5.2.2), и в соответствии с
5.1.2.
Сертификат формата x.509 задается структурой Certificate в формате АСН.1 (см.
[3]):
Certificate ::= SEQUENCE
{
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
Поля структуры имеют следующие значения:
tbsCertificate - набор параметров сертификата, которые должны быть подписаны;
signatureAlgorithm - информация об алгоритме подписи, который использовался при формировании подписи данных поля tbsCertificate структуры Certificate;
signatureValue - значение подписи, сформированное от данных поля tbsCertificate структуры Certificate в соответствии с алгоритмом, указанным в поле signatureAlgorithm структуры Certificate.
4.2.1 Поле tbsCertificate структуры Certificate
Поле tbsCertificate структуры Certificate содержит в себе информацию о сертификате, которая должна быть подписана, и задается структурой TBSCertificate, представляемой в формате АСН.1 следующим образом:
TBSCertificate ::= SEQUENCE
{
version[0] EXPLICIT Version DEFAULT vl,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID[1] IMPLICIT UniqueIdentifier OPTIONAL,
subjectUniqueID[2] IMPLICIT UniqueIdentifier OPTIONAL,
extensions[3] EXPLICIT Extensions OPTIONAL
}
Более подробное описание всех полей структуры TBSCertificate содержится в
[3].
Поле signature структуры TBSCertificate задается структурой AlgorithmIdentifier в соответствии с
5.1.1 и должно совпадать со значением поля signatureAlgorithm структуры Certificate (см.
4.2.2).
Поле subjectPublicKeyInfo структуры TBSCertificate задается структурой SubjectPublicKeyInfo в соответствии с
5.2.1 и содержит идентификатор алгоритма подписи, идентификаторы параметров открытого ключа и сам ключ.
4.2.2 Поле signatureAlgorithm структуры Certificate
Поле signatureAlgorithm структуры Certificate задается структурой AlgorithmIdentifier, описанной в
5.1.1, и содержит информацию об алгоритме подписи, который использовался при формировании поля signature структуры Certificate (см.
4.2.3). При этом используемый алгоритм подписи должен соответствовать открытому ключу издателя сертификата, указанному в поле issuer структуры TBSCertificate (см.
4.2.1).
4.2.3 Поле signatureValue структуры Certificate
Поле signatureValue структуры Certificate содержит в себе подпись значения поля tbsCertificate структуры Certificate, закодированного в формате DER. Значение подписи формируется в соответствии с
5.1.2 по алгоритму, указанному в поле signatureAlgorithm структуры Certificate, на закрытом ключе издателя сертификата, имя которого указано в поле issuer структуры TBSCertificate (см.
4.2.1).
4.3 Список аннулированных сертификатов
Список аннулированных сертификатов задается структурой CertificateList в формате АСН.1 (см.
[3]):
CertificateList ::= SEQUENCE
{
tbsCertList TBSCertList,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
Поля структуры имеют следующие значения:
tbsCertList - набор параметров списка аннулированных сертификатов, которые должны быть подписаны;
signatureAlgorithm - информация об алгоритме подписи, который использовался при формировании подписи данных поля tbsCertList структуры CertificateList;
signatureValue - значение подписи, сформированное от данных поля tbsCertList структуры CertificateList в соответствии с алгоритмом, указанным в поле signatureAlgorithm структуры CertificateList.
4.3.1 Поле tbsCertList структуры CertificateList
Поле tbsCertList структуры CertificateList содержит в себе информацию о списке аннулированных сертификатов, которая должна быть подписана, и задается структурой TBSCertList, представляемой в формате АСН.1 следующим образом:
TBSCertList ::= SEQUENCE
{
version Version OPTIONAL,
signature AlgorithmIdentifier,
issuer Name,
thisUpdate Time,
nextUpdate Time OPTIONAL,
revokedCertificates SEQUENCE OF SEQUENCE
{
userCertificate CertificateSerialNumber,
revocationDate Time,
crlEntryExtensions Extensions OPTIONAL
} OPTIONAL,
crlExtensions[0] EXPLICIT Extensions OPTIONAL
}
Более подробное описание всех полей структуры TBSCertList содержится в
[3].
Поле signature структуры TBSCertList задается структурой AlgorithmIdentifier в соответствии с
5.1.1 и должно совпадать со значением поля signatureAlgorithm структуры CertificateList.
4.3.2 Поле signatureAlgorithm структуры CertificateList
Поле signatureAlgorithm структуры CertificateList задается структурой AlgorithmIdentifier, описанной в
5.1.1, и содержит информацию об алгоритме подписи, который использовался при формировании поля signature структуры CertificateList (см.
4.3.3). При этом используемый алгоритм подписи должен соответствовать открытому ключу издателя списка аннулированных сертификатов, имя которого указано в поле issuer структуры TBSCertList (см.
4.3.1).
4.3.3 Поле signature Value структуры CertificateList
Поле signatureValue структуры CertificateList содержит подпись значения поля tbsCertList структуры CertificateList, закодированного в формате DER. Значение подписи формируется в соответствии с
5.1.2 по алгоритму, указанному в поле signatureAlgorithm структуры CertificateList, на закрытом ключе издателя списка аннулированных сертификатов, имя которого указано в поле issuer структуры TBSCertList (см.
4.3.1).
5 Порядок использования российских алгоритмов
5.1 Подпись ГОСТ Р 34.10-2012
5.1.1 Идентификатор и параметры (структура AlgorithmIdentifier)
Поле signatureAlgorithm структуры CertificationRequest (см.
4.1.2), поле signature структуры TBSCertificate (см.
4.2.1), поле signatureAlgorithm структуры Certificate (см.
4.2.2), поле signature структуры TBSCertList (см.
4.3.1), поле signatureAlgorithm структуры CertificateList (см.
4.3.2), задается структурой AlgorithmIdentifier (см.
раздел 8 ГОСТ Р ИСО/МЭК 9594-8-98 и
[2]):
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER
parameters ANY DEFINED BY algorithm OPTIONAL
}
Поля структуры имеют следующие значения:
algorithm - идентификатор алгоритма подписи, задающийся в соответствии с
5.1.1.1;
parameters - параметры открытого ключа алгоритма подписи, задающиеся в соответствии с
5.1.1.2.
5.1.1.1 Поле algorithm структуры AlgorithmIdentifier
Поле algorithm структуры AlgorithmIdentifier содержит идентификатор алгоритма подписи и связанных с ним параметров, который используется при формировании подписи данных:
- для алгоритма электронной подписи
ГОСТ Р 34.10 с длиной ключа 256 бит и алгоритма хэширования
ГОСТ Р 34.11 с длиной выхода 256 бит идентификатор в формате АСН.1 задается следующим образом:
id-tc26-signwithdigest-gost3410-12-256, "1.2.643.7.1.1.3.2";
- для алгоритма электронной подписи
ГОСТ Р 34.10 с длиной ключа 512 бит и алгоритма хэширования
ГОСТ Р 34.11 с длиной выхода 512 бит идентификатор в формате АСН.1 задается следующим образом:
id-tc26-signwithdigest-gost3410-12-512, "1.2.643.7.1.1.3.3".
5.1.1.2 Поле parameters структуры AlgorithmIdentifier
Поле parameters должно отсутствовать. Значение параметров наследуется из соответствующих полей сертификата издателя.
Поле signature структуры CertificationRequest (см.
4.1.3), поле signatureValue структуры Certificate (см.
4.2.3), поле signatureValue структуры CertificateList (см.
4.3.3) содержит подпись данных, закодированных в формате DER. При этом результатом работы алгоритма подписи
ГОСТ Р 34.10 с длиной ключа 256 бит и 512 бит являются два числа
r и
s, определенные в
ГОСТ Р 34.10 и имеющие длину 256 бит и 512 бит каждый соответственно.
При использовании алгоритма
ГОСТ Р 34.10 с длиной ключа 256 бит поле signature задается битовой строкой (BIT STRING) длины 512 бит; при этом первые 256 бит содержат число
s в представлении big-endian (старший бит записывается первым), а вторые 256 бит содержат число в представлении big-endian.
При использовании алгоритма
ГОСТ Р 34.10 с длиной ключа 512 бит поле signature задается битовой строкой (BIT STRING) длины 1024 бита; при этом первые 512 бит содержат число в представлении big-endian, а вторые 512 бит содержат число в представлении big-endian.
5.2 Открытый ключ и его параметры (структура SubjectPublicKeyInfo)
Структура SubjectPublicKeyInfo (см. ГОСТ Р ИСО/МЭК 9594-8-98,
раздел 8) имеет следующий вид:
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier
subjectPublicKey BIT STRING
}
Поля структуры имеют следующие значения:
algorithm - идентификатор алгоритма и набор параметров открытого ключа, задающиеся в соответствии с
5.2.1;
subjectPublicKey - открытый ключ, задающийся в соответствии с
5.2.2.
5.2.1 Поле algorithm структуры SubjectPublicKeyInfo
Поле algorithm структуры SubjectPublicKeyInfo задается структурой AlgorithmIdentifier:
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER
parameters ANY DEFINED BY algorithm OPTIONAL
}
Поля структуры имеют следующие значения:
algorithm - идентификатор алгоритма подписи, задающийся в соответствии с
5.2.1.1;
parameters - параметры открытого ключа, задающиеся в соответствии с
5.2.1.2.
5.2.1.1 Поле algorithm структуры AlgorithmIdentifier
Поле algorithm структуры AlgorithmIdentifier должно содержать следующий идентификатор алгоритма:
- для алгоритма электронной подписи
ГОСТ Р 34.10 с длиной ключа 256 бит идентификатор в формате АСН.1 задается следующим образом:
id-tc26-gost3410-12-256, "1.2.643.7.1.1.1.1";
- для алгоритма электронной подписи
ГОСТ Р 34.10 с длиной ключа 512 бит идентификатор в формате АСН.1 задается следующим образом:
id-tc26-gost3410-12-512, "1.2.643.7.1.1.1.2".
5.2.1.2 Поле parameters структуры AlgorithmIdentifier
Поле parameters структуры AlgorithmIdentifier имеет структуру GostR3410-2012-PublicKeyParameters в формате АСН.1:
GostR3410-2012-PublicKeyParameters ::= SEQUENCE
{
publicKeyParamSet OBJECT IDENTIFIER,
digestParamSet OBJECT IDENTIFIER OPTIONAL
}
Поля структуры имеют следующие значения:
publicKeyParamSet - идентификатор параметров открытого ключа, соответствующего алгоритму подписи
ГОСТ Р 34.10;
digestParamSet - идентификатор функции хэширования
ГОСТ Р 34.11. Данное поле является опциональным:
- данное поле не рекомендуется включать, если используется алгоритм подписи
ГОСТ Р 34.10 с длиной ключа 512 бит;
- данное поле должно присутствовать, если используется алгоритм подписи
ГОСТ Р 34.10 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:
id-GostR3410-2001-CryptoPro-A-ParamSet, "1.2.643.2.2.35.1";
id-GostR3410-2001-CryptoPro-B-ParamSet, "1.2.643.2.2.35.2";
id-GostR3410-2001-CryptoPro-C-ParamSet, "1.2.643.2.2.35.3";
id-GostR3410-2001-CryptoPro-XchA-ParamSet, "1.2.643.2.2.36.0";
id-GostR3410-2001-CryptoPro-XchB-ParamSet, "1.2.643.2.2.36.1".
При этом идентификатор digestParamSet должен быть равен идентификатору алгоритма хэширования
ГОСТ Р 34.11 с длиной выхода 256 бит:
id-tc26-gost3411-12-256, "1.2.643.7.1.1.2.2";
- данное поле не рекомендуется включать, если используется алгоритм подписи
ГОСТ Р 34.10 с длиной ключа 256 бит при следующем значении поля publicKeyParamSet:
id-tc26-gost-3410-2012-256-paramSetA, "1.2.643.7.1.2.1.1.1";
- данное поле должно отсутствовать, если используется алгоритм подписи
ГОСТ Р 34.10 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:
id-tc26-gost-3410-2012-256-paramSetB, "1.2.643.7.1.2.1.1.2";
id-tc26-gost-3410-2012-256-paramSetC, "1.2.643.7.1.2.1.1.3";
id-tc26-gost-3410-2012-256-paramSetD, "1.2.643.7.1.2.1.1.4".
5.2.2 Поле subjectPublicKey структуры SubjectPublicKeyInfo
Поле subjectPublicKey структуры SubjectPublicKeyInfo содержит открытый ключ, который задается парой координат (
x,
y), определенной в
ГОСТ Р 34.10, представленных в следующем формате:
- открытый ключ, соответствующий алгоритму
ГОСТ Р 34.10 с длиной ключа 256 бит, имеет представление GostR3410-2012-256-PublicKey, которое задается байтовой строкой длины 64 байта, где первые 32 байта содержат представление координаты
x в формате little-endian, а последние 32 байта содержат представление координаты
y в формате little-endian;
- открытый ключ, соответствующий алгоритму
ГОСТ Р 34.10 с длиной ключа 512 бит, имеет представление GostR3410-2012-512-PublicKey, которое задается байтовой строкой длины 128 байт, где первые 64 байта содержат представление координаты
x в формате little-endian, а последние 64 байта содержат представление координаты
y в формате little-endian.
Ключи проверки подписи GostR3410-2012-256-PublicKey и GostR3410-2012-512-PublicKey должны быть представлены в DER-кодировке в виде строки октетов (OCTET STRING) в соответствии с ГОСТ Р ИСО/МЭК 8825-1-2003
(подраздел 8.6):
GostR3410-2012-256-PublicKey ::= OCTET STRING (64),
GostR3410-2012-512-PublicKey ::= OCTET STRING (128).
5.3 Область использования ключа
Расширение KeyUsage (см.
[3], подпункт 4.2.1.3) является опциональным полем структуры TBSCertificate (см.
4.2.1). Для ключей, соответствующих алгоритму подписи
ГОСТ Р 34.10, данное расширение может иметь следующие флаги:
KeyUsage ::= BIT STRING
{
digitalSignature (0);
contentCommitment (1);
keyAgreement (4);
keyCertSign (5);
cRLSign (6);
encipherOnly (7);
decipherOnly (8) .
}
При этом если ключ может использоваться для формирования ключей согласования, то флаг keyAgreement обязательно должен присутствовать в расширении KeyUsage, а флаги encipherOnly и decipherOnly могут присутствовать опционально. При этом флаги encipherOnly и decipherOnly не могут присутствовать в расширении KeyUsage одновременно.
(справочное)
КОНТРОЛЬНЫЕ ПРИМЕРЫ
А.1 Пример 1
В данном разделе приведены примеры запроса на сертификат PKCS #10, сертификата и списка аннулированных сертификатов с параметром алгоритма подписи
ГОСТ Р 34.10 с длиной ключа 256 бит.
А.1.1 Значения параметров
В данном примере используются следующие параметры, определенные в ГОСТ Р 34.10-2012,
раздел А.1:
- модуль эллиптической кривой;
- коэффициенты эллиптической кривой;
- порядок группы точек эллиптической кривой;
- порядок циклической подгруппы точек эллиптической кривой;
- координаты базовой точки эллиптической кривой.
В качестве идентификатора приведенных выше параметров используется значение "1.2.643.2.2.35.0". В качестве ключа подписи используется ключ, определенный в ГОСТ Р 34.10-2012,
пункт А.1.1.6:
d = 7A929ADE789BB9BE10ED359DD39A72C11B60961F49397EEE1D19CE9891EC3B2816
В качестве открытого ключа используется ключ проверки подписи, определенный в ГОСТ Р 34.10-2012,
пункт А.1.1.7:
Xq = 7F2B49E270DB6D90D8595BEC458B50C58585BA1D4E9B788F6689DBD8E56FD80B16
Yq = 26F1B489D6701DD185C8413A977B3CBBAF64D1C593D26627DFFB101A87FF77DA16
В качестве случайного числа для подписи используется
k, определенный в ГОСТ Р 34.10-2012,
пункт А.1.2:
k = 77105C9B20BCD3122823C8CF6FCC7B956DE33814E95B7FE64FED924594DCEAB316
А.1.2 Запрос на сертификат
А.1.2.1 Запрос на сертификат в кодировке BASE64
MIHTMIGBAgEAMBIxEDAOBgNVBAMTB0V4YW1wbGUwZjAfBggqhQMHAQEBATATBgcqhQMCAiMABggqhQMHAQECAgNDA
ARAC9hv5djbiWaPeJtOHbqFhcVQi0XsWlnYkG3bcOJJK3/ad/+HGhD73ydm0pPF0WSvuzx7lzpByIXRHXDWibTxJq
AAMAoGCCqFAwcBAQMCA0EAaqqzjjXUqqUXlAMBeZEi2FVITlefTLuWljzf3zrMQypBqijS8asUgoDNntVv7aQZdAU
1VKQnZ7g60EP9OdwEkw==
А.1.2.2 АСН.1 представление запроса на сертификат
0 211: SEQUENCE :
3 129: SEQUENCE :
6 1: INTEGER : 0
9 18: SEQUENCE :
11 16: SET :
13 14: SEQUENCE :
15 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
20 7: PRINTABLE STRING :
: 'Example'
29 102: SEQUENCE :
31 31: SEQUENCE :
33 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.1]
43 19: SEQUENCE :
45 7: OBJECT IDENTIFIER : [1.2.643.2.2.35.0]
54 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.2.2]
64 67: BIT STRING UnusedBits:0 :
67 64: OCTET STRING :
: 0BD86FE5D8DB89668F789B4E1DBA8585
: C5508B45EC5B59D8906DDB70E2492B7F
: DA77FF871A10FBDF2766D293C5D164AF
: BB3C7B973A41C885D11D70D689B4F126
133 0: CONTEXT SPECIFIC (0) :
135 10: SEQUENCE :
137 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
147 65: BIT STRING UnusedBits:0 :
: 6AAAB38E35D4AAA517940301799122D8
: 55484F579F4CBB96D63CDFDF3ACC432A
: 41AA28D2F1AB148280CD9ED56FEDA419
: 74053554A42767B83AD043FD39DC0493
А.1.3 Сертификат
А.1.3.1 Сертификат в кодировке BASE64
MIIBLTCB26ADAgECAgEKMAoGCCqFAwcBAQMCMBIxEDAOBgNVBAMTB0V4YW1wbGUwIBcNMDEwMTAxMDAwMDAwWhgPM
jA1MDEyMzEwMDAwMDBaMBIxEDAOBgNVBAMTB0V4YW1wbGUwZjAfBggqhQMHAQEBATATBgcqhQMCAiMABggqhQMHAQ
ECAgNDAARAC9hv5djbiWaPeJtOHbqFhcVQi0XsW1nYkG3bcOJJK3/ad/+HGhD73ydm0pPF0WSvuzx7lzpByIXRHXD
WibTxJqMTMBEwDwYDVR0TAQH/BAUwAwEB/zAKBggqhQMHAQEDAgNBAE1T8BL+CBd2UH1Nm7gfAO/bTu/Uq4O6xLrP
c1Fzz6gcQaoo0vGrFIKAzZ7Vb+2kGXQFNVSkJ2e4OtBD/TncBJM=
А.1.3.2 Сертификат в АСН.1 представлении
0 301: SEQUENCE :
4 219: SEQUENCE :
7 3: CONTEXT SPECIFIC (0) :
9 1: INTEGER : 2
12 1: INTEGER : 10
15 10: SEQUENCE :
17 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
27 18: SEQUENCE :
29 16: SET :
31 14: SEQUENCE :
33 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
38 7: PRINTABLE STRING :
: 'Example'
47 32: SEQUENCE :
49 13: UTC TIME : '010101000000Z'
64 15: GENERALIZED TIME :
: '20501231000000Z'
81 18: SEQUENCE :
83 16: SET :
85 14: SEQUENCE :
87 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
92 7: PRINTABLE STRING :
: 'Example'
101 102: SEQUENCE :
103 31: SEQUENCE :
105 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.1]
115 19: SEQUENCE :
117 7: OBJECT IDENTIFIER : [1.2.643.2.2.35.0]
126 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.2.2]
136 67: BIT STRING UnusedBits:0 :
139 64: OCTET STRING :
: 0BD86FE5D8DB89668F789B4ElDBA8585
: C5508B45EC5B59D8906DDB70E2492B7F
: DA77FF871A10FBDF2766D293C5D164AF
: BB3C7B973A41C885D11D70D689B4F126
205 19: CONTEXT SPECIFIC (3) :
207 17: SEQUENCE :
209 15: SEQUENCE :
211 3: OBJECT IDENTIFIER : basicConstraints [2.5.29.19]
216 1: BOOLEAN : 'FF'
219 5: OCTET STRING :
221 3: SEQUENCE :
223 1: BOOLEAN : 'FF'
226 10: SEQUENCE :
228 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
238 65: BIT STRING UnusedBits: 0 :
: 4D53F012FE081776507D4D9BB81F00EF
: DB4EEFD4AB83BAC4BACF735173CFA81C
: 41AA28D2F1AB148280CD9ED56FEDA419
: 74053554A42767B83AD043FD39DC0493
А.1.4 Список аннулированных сертификатов
А.1.4.1 Список аннулированных сертификатов в кодировке BASE64
MIGSMEECAQEwCgYIKoUDBwEBAwIwEjEQMA4GA1UEAxMHRXhhbXBsZRcNMTQwMTAxMDAwMDAwWhcNMTQwMTAyMDAwM
DAwWjAKBggqhQMHAQEDAgNBAEK/OSoU0+vpV68+RstQv19CIaADrT0XJ1PJSpw3ox0gQaoo0vGrFIKAzZ7Vb+2kGX
QFNVSkJ2e40tBD/TncBJM=
А.1.4.2 АСН.1 представление списка аннулированных сертификатов
0 146: SEQUENCE :
3 65: SEQUENCE :
5 1: INTEGER : 1
8 10: SEQUENCE :
10 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
20 18: SEQUENCE :
22 16: SET :
24 14: SEQUENCE :
26 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
31 7: PRINTABLE STRING :
: 'Example'
40 13: UTC TIME : '140101000000Z'
55 13: UTC TIME : '140102000000Z'
70 10: SEQUENCE :
72 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
82 65: BIT STRING UnusedBits:0 :
: 42BF392A14D3EBE957AF3E46CB50BF5F
: 4221A003AD3D172753C94A9C37A31D20
: 41AA28D2F1AB148280CD9ED56FEDA419
: 74053554A42767B83AD043FD39DC0493
А.2 Пример 2
В данном разделе приведены примеры запроса на сертификат PKCS #10, сертификата и списка аннулированных сертификатов с параметром алгоритма подписи
ГОСТ Р 34.10 "1.2.643.7.1.2.1.1.1" с ключом подписи длины 256 бит для скрученной эллиптической кривой Эдвардса.
А.2.1 Значения параметров
В данном примере используются следующие параметры:
- модуль эллиптической кривой;
- коэффициенты эллиптической кривой;
- порядок группы точек эллиптической кривой;
- порядок циклической подгруппы точек эллиптической кривой;
- координаты базовой точки эллиптической кривой.
В качестве идентификатора приведенных выше параметров используется значение "1.2.643.7.1.2.1.1.1" из Р 1323565.1.024,
раздел А.3. В качестве ключа подписи используется ключ:
d = 3A929ADE789BB9BE10ED359DD39A72C10B87C83F80BE18B85C041F4325B62EC116
В качестве ключа проверки подписи используется ключ, соответствующий выбранному ключу подписи:
Xq = 99C3DF265EA59350640BA69D1DE04418AF3FEA03EC0F85F2DD84E8BED495277416
Yq = E218631A69C47C122E2D516DA1C09E6BD19344D94389D1F16C0C4D4DCF96F57816
В качестве случайного числа для подписи используется следующее значение k:
k = 27105C9B20BCD3122823C8CF6FCC7B956DE33814E95B7FE64FED924594DCEAB316
А.2.2 Запрос на сертификат
А.2.2.1 Запрос на сертификат в кодировке BASE64
MIHKMHkCAQAwEjEQMA4GA1UEAxMHRXhhbXBsZTBeMBcGCCqFAwcBAQEBMAsGCSqFAwcBAgEBAQNDAARAdC
eV1L7ohN3yhQ/sA+o/rxhE4B2dpgtkUJO1Xibfw5149ZbPTU0MbPHRiUPZRJPRa57AoW1RLS4SfMRpGmMY
4qAAMAoGCCqFAwcBAQMCA0EAG9wqExdnm2YjL2PqFv98ZMyqua2FX8bhgJFrnHbedSBIdDh21vjR8bxtSV-
seurCAK1krHem9bOg4Jcxjnrm7naQ==
А.2.2.2 АСН.1 представление запроса на сертификат
0 202: SEQUENCE :
3 121: SEQUENCE :
5 1: INTEGER : 0
8 18: SEQUENCE :
10 16: SET :
12 14: SEQUENCE :
14 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
19 7: PRINTABLE STRING :
: 'Example'
28 94: SEQUENCE :
30 23: SEQUENCE :
32 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.1]
42 11: SEQUENCE :
44 9: OBJECT IDENTIFIER : [1.2.643.7.1.2.1.1.1]
55 67: BIT STRING UnusedBits:0 :
58 64: OCTET STRING :
: 742795D4BEE884DDF2850FEC03EA3FAF
: 1844E01D9DA60B645093A55E26DFC399
: 78F596CF4D4D0C6CF1D18943D94493D1
: 6B9EC0A16D512D2E127CC4691A6318E2
124 0: CONTEXT SPECIFIC (0) :
126 10: SEQUENCE :
128 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
138 65: BIT STRING UnusedBits:0 :
: 1BDC2A1317679B66232F63EA16FF7C64
: CCAAB9AD855FC6E18091661DB79D4812
: 1D0E1DA5BE347C6F1B5256C7AEAC200A
: D64AC77A6F5B3A0E097318E7AE6EE769
А.2.3 Сертификат
А.2.3.1 Сертификат в кодировке BASE64
MIIBJTCB06ADAgECAgEKMAoGCCqFAwcBAQMCMBIxEDAOBgNVBAMTB0V4YW1wbGUwIBcNMDEwMTAxMDAwMDAwWhgPM
jAlMDEyMzEwMDAwMDBaMBIxEDAOBgNVBAMTB0V4YW1wbGUwXjAXBggqhQMHAQEBATALBgkqhQMHAQIBAQEDQwAEQH
QnldS+6ITd8oUP7APqP68YROAdnaYLZFCTpV4m38OZePWWz01NDGzx0YlD2UST0WuewKFtUS0uEnzEaRpjGOKjEzA
RMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoUDBwEBAwIDQQAUC02pEksJyw1c6Sjuh0JzoxAS1JLsDik2njt5EkhXjB0O
HaW+NHxvG1JWx66sIArWSsd6b1s6DglzGOeubudp
А.2.3.2 Сертификат в АСН.1 представлении
0 293: SEQUENCE :
4 211: SEQUENCE :
7 3: CONTEXT SPECIFIC (0) :
9 1: INTEGER : 2
12 1: INTEGER : 10
15 10: SEQUENCE :
17 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
27 18: SEQUENCE :
29 16: SET :
31 14: SEQUENCE :
33 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
38 7: PRINTABLE STRING :
: 'Example'
47 32: SEQUENCE :
49 13: UTC TIME : '010101000000Z'
64 15: GENERALIZED TIME :
: '20501231000000Z'
81 18: SEQUENCE :
83 16: SET :
85 14: SEQUENCE :
87 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
92 7: PRINTABLE STRING :
: 'Example'
101 94: SEQUENCE :
103 23: SEQUENCE :
105 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.1]
115 11: SEQUENCE :
117 9: OBJECT IDENTIFIER : [1.2.643.7.1.2.1.1.1]
128 67: BIT STRING UnusedBits:0 :
131 64: OCTET STRING :
: 742795D4BEE884DDF2850FEC03EA3FAF
: 1844E01D9DA60B645093A55E26DFC399
: 78F596CF4D4D0C6CF1D18943D94493D1
: 6B9EC0A16D512D2E127CC4691A6318E2
197 19: CONTEXT SPECIFIC (3) :
199 17: SEQUENCE :
201 15: SEQUENCE :
203 3: OBJECT IDENTIFIER : basicConstraints [2.5.29.19]
208 1: BOOLEAN : 'FF'
211 5: OCTET STRING :
213 3: SEQUENCE :
215 1: BOOLEAN : 'FF'
218 10: SEQUENCE :
220 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
230 65: BIT STRING UnusedBits:0 :
: 140B4DA9124B09CB0D5CE928EE874273
: A310129492EC0E29369E3B791248578C
: 1D0E1DA5BE347C6F1B5256C7AEAC200A
: D64AC77A6F5B3A0E097318E7AE6EE769
А.2.4 Список аннулированных сертификатов
А.2.4.1 Список аннулированных сертификатов в кодировке BASE64
MIGSMEECAQEwCgYIKoUDBwEBAwIwEjEQMA4GA1UEAxMHRXhhbXBsZRcMMTQwMTAxMDAwMDAwWhcMMTQwMTAyMDAwM
DAwWjAKBggqhQMHAQEDAgNBABS9aAh8o5A8eqKLB/6y571v4JY/VjJnNZ9c2Oq0UFmtHQ4dpb40fG8bUlbHrqwgCt
ZKx3pvWzoOCXMY565u52k=
А.2.4.2 АСН.1 представление списка аннулированных сертификатов
0 146: SEQUENCE :
3 65: SEQUENCE :
5 1: INTEGER : 1
8 10: SEQUENCE :
10 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
20 18: SEQUENCE :
22 16: SET :
24 14: SEQUENCE :
26 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
31 7: PRINTABLE STRING :
: 'Example'
40 13: UTC TIME : '140101000000Z'
55 13: UTC TIME : '140102000000Z'
70 10: SEQUENCE :
72 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.2]
82 65: BIT STRING UnusedBits:0 :
: 14BD68087C3B903C7AA28B07FEB2E7BD
: 6FE0963F563267359F5CD8EAB45059AD
: 1D0E1DA5BE347C6F1B5256C7AEAC200A
: D64AC77A6F5B3A0E097318E7AE6EE769
А.3 Пример 3
В данном разделе приведены примеры запроса на сертификат PKCS #10, сертификата и списка аннулированных сертификатов с параметром алгоритма подписи
ГОСТ Р 34.10 "1.2.643.7.1.2.1.2.0" с ключом подписи длины 512 бит.
А.3.1 Значения параметров
В данном примере используются следующие параметры:
- модуль эллиптической кривой;
- коэффициенты эллиптической кривой;
- порядок группы точек эллиптической кривой;
- порядок циклической подгруппы точек эллиптической кривой;
- координаты базовой точки эллиптической кривой.
В качестве идентификатора приведенных выше параметров используется значение "1.2.643.7.1.2.1.2.0" из ГОСТ Р 34.10-2012,
раздел А.2. В качестве ключа подписи используется ключ, определенный в ГОСТ Р 34.10-2012,
пункт А.2.1.6:
d = 0BA6048AADAE241BA40936D47756D7C93091A0E8514669700EE7508E508B1020\\
72E8123B2200A0563322DAD2827E2714A2636B7BFD18AADFC62967821FA18DD416
В качестве ключа проверки подписи используется ключ, определенный в ГОСТ Р 34.10-2012,
А.2.1.7:
Xq = 115DC5BC96760C7B48598D8AB9E740D4C4A85A65BE33C1815B5C320C854621DD\\
5A515856D13314AF69BC5B924C8B4DDFF75C45415C1D9DD9DD33612CD530EFE116
Yq = 37C7C90CD40B0F5621DC3AC1B751CFA0E2634FA0503B3D52639F5D7FB72AFD61\\
EA199441D943FFE7F0C70A2759A3CDB84C114E1F9339FDF27F35ECA93677BEEC16
В качестве случайного числа при подписи используется
k, определенный в ГОСТ Р 34.10-2012,
пункт А.2.2:
k = 0359E7F4B1410FEACC570456C6801496946312120B39D019D455986E364F3658\\
86748ED7A44B3E794434006011842286212273A6D14CF70EA3AF71BB1AE679F116
А.3.2 Запрос на сертификат
А.3.2.1 Запрос на сертификат в кодировке BASE64
MIIBTzCBvAIBADASMRAwDgYDVQQDEwdFeGFtcGxlMIGgMBcGCCqFAwcBAQECMAsGCSqFAwcBAgECAAOBhAAEgYDh7
zDVLGEz3dmdHVxBRVz3302LTJJbvGmvFDPRVlhRWt0hRoUMMlxbgcEzvmVaqMTUQOe5io1ZSHsMdpa8xV0R7L53Nq
nsNX/y/TmTH04RTLjNo1knCsfw5/9D2UGUGeph/Sq3f12fYlI9OlCgT2PioM9Rt8E63CFWDwvUDMnHN6AAMAoGCCq
FAwcBAQMDA4GBAEM7HWzkClHx5XN+sWqixoOCmkBbnZEn4hJg/J1qwF2HvyTibEUnilwhkqdbqUmTq9YHTn/xvwP9
LlOXr6HZRVgvhvpgoIEJGiPdeV4ePGie5RKjyC7g3MJkPHjuqPys0lSSVYSGsg8cnsGXyQaZhQJgyTvLzZxcMxfhk
0Thc642
А.3.2.2 АСН.1 представление запроса на сертификат
0 335: SEQUENCE :
4 188: SEQUENCE :
7 1: INTEGER : 0
10 18: SEQUENCE :
12 16: SET :
14 14: SEQUENCE :
16 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
21 7: PRINTABLE STRING :
: 'Example'
30 160: SEQUENCE :
33 23: SEQUENCE :
35 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.2]
45 11: SEQUENCE :
47 9: OBJECT IDENTIFIER : [1.2.643.7.1.2.1.2.0]
58 132: BIT STRING UnusedBits:0 :
62 128: OCTET STRING :
: E1EF30D52C6133DDD99D1D5C41455CF7
: DF4D8B4C925BBC69AF1433D15658515A
: DD2146850C325C5B81C133BE655AA8C4
: D440E7B98A8D59487B0C7696BCC55D11
: ECBE7736A9EC357FF2FD39931F4E114C
: B8CDA359270AC7F0E7FF43D9419419EA
: 61FD2AB77F5D9F63523D3B50A04F63E2
: A0CF51B7C13ADC21560F0BD40CC9C737
193 0: CONTEXT SPECIFIC (0) :
195 10: SEQUENCE :
197 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.3]
207 129: BIT STRING UnusedBits:0 :
: 433B1D6CE40A51F1E5737EB16AA2C683
: 829A405B9D9127E21260FC9D6AC05D87
: BF24E26C45278A5C2192A75BA94993AB
: D6074E7FF1BF03FD2F5397AFA1D94558
: 2F86FA60A081091A23DD795E1E3C689E
: E512A3C82EE0DCC2643C78EEA8FCACD3
: 5492558486B20F1C9EC197C906998502
: 60C93BCBCD9C5C3317E19344E173AE36
А.3.3 Сертификат
А.3.3.1 Сертификат в кодировке BASE64
MIIBqjCCARagAwIBAgIBCzAKBggqhQMHAQEDAzASMRAwDgYDVQQDEwdFeGFtcGxlMCAXDTAxMDEwMTAwMDAwMFoYD
zIwNTAxMjMxMDAwMDAwWjASMRAwDgYDVQQDEwdFeGFtcGxlMIGgMBcGCCqFAwcBAQECMAsGCSqFAwcBAgECAAOBhA
AEgYDh7zDVLGEz3dmdHVxBRVz3302LTJJbvGmvFDPRVlhRWt0hRoUMMlxbgcEzvmVaqMTUQOe5io1ZSHsMdpa8xV0
R7L53NqnsNX/y/TmTH04RTLjNolknCsfw5/9D2UGUGeph/Sq3f12fY1I9O1CgT2PioM9Rt8E63CFWDwvUDMnHN6MT
MBEwDwYDVR0TAQH/BAUwAwEB/zAKBggqhQMHAQEDAwOBgQBBVwPYkvGl8/aMQ1MYmn7iB7gLVjHvnUlSmk1rVCws+
hWqLqzxH0cP3n2VSFaQPDX9jSVe8wDZXHdTSnJKDu5wL4b6YKCBCRoj3XleHjxonuUSo8gu4NzCZDx47qj8rNNUkl
WEhrIPHJ7Bl8kGmYUCYMk7y82cXDMX4ZNE4XOuNg==
А.3.3.2 АСН.1 представление сертификата
0 426: SEQUENCE :
4 278: SEQUENCE :
8 3: CONTEXT SPECIFIC (0) :
10 1: INTEGER : 2
13 1: INTEGER : 11
16 10: SEQUENCE :
18 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.3]
28 18: SEQUENCE :
30 16: SET :
32 14: SEQUENCE :
34 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
39 7: PRINTABLE STRING :
: 'Example'
48 32: SEQUENCE :
50 13: UTC TIME : '010101000000Z'
65 15: GENERALIZED TIME :
: '20501231000000Z'
82 18: SEQUENCE :
84 16: SET :
86 14: SEQUENCE :
88 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
93 7: PRINTABLE STRING :
: 'Example'
102 160: SEQUENCE :
105 23: SEQUENCE :
107 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.1.2]
117 11: SEQUENCE :
119 9: OBJECT IDENTIFIER : [1.2.643.7.1.2.1.2.0]
130 132: BIT STRING UnusedBits:0 :
134 128: OCTET STRING :
: E1EF30D52C6133DDD99D1D5C41455CF7
: DF4D8B4C925BBC69AF1433D15658515A
: DD2146850C325C5B81C133BE655AA8C4
: D440E7B98A8D59487B0C7696BCC55D11
: ECBE7736A9EC357FF2FD39931F4E114C
: B8CDA359270AC7F0E7FF43D9419419EA
: 61FD2AB77F5D9F63523D3B50A04F63E2
: A0CF51B7C13ADC21560F0BD40CC9C737
265 19: CONTEXT SPECIFIC (3) :
267 17: SEQUENCE :
269 15: SEQUENCE :
271 3: OBJECT IDENTIFIER : basicConstraints [2.5.29.19]
276 1: BOOLEAN : 'FF'
279 5: OCTET STRING :
281 3: SEQUENCE :
283 1: BOOLEAN : 'FF'
286 10: SEQUENCE :
288 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.3]
298 129: BIT STRING UnusedBits:0 :
: 415703D892F1A5F3F68C4353189A7EE2
: 07B80B5631EF9D49529A4D6B542C2CFA
: 15AA2EACF11F470FDE7D954856903C35
: FD8F955EF300D95C77534A724A0EEE70
: 2F86FA60A081091A23DD795E1E3C689E
: E512A3C82EE0DCC2643C78EEA8FCACD3
: 5492558486B20F1C9EC197C906998502
: 60C93BCBCD9C5C3317E19344E173AE36
А.3.4 Список аннулированных сертификатов
А.3.4.1 Список аннулированных сертификатов в кодировке BASE64
MIHTMEECAQEwCgYIKoUDBwEBAwMwEjEQMA4GA1UEAxMHRXhhbXBsZRcNMTQwMTAxMDAwMDAwWhcNMTQwMTAyMD
AwMDAwWjAKBggqhQMHAQEDAwOBgQA6E/t67NtVYO72E3z8XdZGkXMuv7NpCh/Ax+ik7uoIMH1kjU3AmGxGqHs/
vkx69C6jQ1nHlZVMo5/zq77ZBR9NL4b6YKCBCRoj3X1eHjxonuUSo8gu4NzCZDx47qj8rNNUklWEhrIPHJ7Bl8kGm
YUCYMk7y82cXDMX4ZNE4XOuNg==
А.3.4.2 АСН.1 представление списка аннулированных сертификатов
0 211: SEQUENCE :
3 65: SEQUENCE :
5 1: INTEGER : 1
8 10: SEQUENCE :
10 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.3]
20 18: SEQUENCE :
22 16: SET :
24 14: SEQUENCE :
26 3: OBJECT IDENTIFIER : commonName [2.5.4.3]
31 7: PRINTABLE STRING :
: 'Example'
40 13: UTC TIME : '140101000000Z'
55 13: UTC TIME : '140102000000Z'
70 10: SEQUENCE :
72 8: OBJECT IDENTIFIER : [1.2.643.7.1.1.3.3]
82 129: BIT STRING UnusedBits:0 :
: 3A13FB7AECDB5560EEF6137CFC5DD646
: 91732EBFB3690A1FC0C7E8A4EEEA0830
: 7D648D4DC0986C46A87B3FBE4C7AF42E
: A34359C795954CA39FF3ABBED9051F4D
: 2F86FA60A081091A23DD795E1E3C689E
: E512A3C82EE0DCC2643C78EEA8FCACD3
: 5492558486B20F1C9EC197C906998502
: 60C93BCBCD9C5C3317E19344E173AE36
(справочное)
GostR3410-2012-PKISyntax
GostR3410-2012-PKISyntax
{
iso(1) member-body(2) ru(643) rosstandart(7)
tc26(1) modules(0) gostR3411-2012-PKISyntax(2)
}
DEFINITIONS ::=
BEGIN
-- EXPORTS All --
-- ASN.1 TC 26 root
id-tc26 OBJECT IDENTIFIER ::=
{ iso(1) member-body(2) ru(643) rosstandart(7) tc26(1) }
-- Signature algorithm
id-tc26-sign OBJECT IDENTIFIER ::=
{ id-tc26 algorithms(1) sign(1) }
-- Signature algorithm parameters
id-tc26-sign-constants OBJECT IDENTIFIER ::=
{ id-tc26 constants(2) sign(1) }
-- GOST R 34.10-2012/256bits signature algorithm parameters
id-tc26-gost-3410-2012-256-constants OBJECT IDENTIFIER ::=
{ id-tc26-sign-constants gost-3410-2012-256(1) }
-- GOST R 34.10-2012/512bits signature algorithm parameters
id-tc26-gost-3410-2012-512-constants OBJECT IDENTIFIER ::=
{ id-tc26-sign-constants gost-3410-2012-512(2) }
-- GOST R 34.10-2012/256bits signature algorithm
id-tc26-gost3410-2012-256 OBJECT IDENTIFIER ::=
{ id-tc26-sign gost3410-2012-256(1) }
-- GOST R 34.10-2012/512bits signature algorithm
id-tc26-gost3410-2012-512 OBJECT IDENTIFIER ::=
{ id-tc26-sign gost3410-2012-512(2) }
-- Signature & hash algorithm GOST R 34.10-2012/256bits with GOST R 34.11-2012
id-tc26-signwithdigest-gost3410-2012-256 OBJECT IDENTIFIER ::=
{ id-tc26-signwithdigest gost3410-2012-256(2) }
-- Signature & hash algorithm GOST R 34.10-2012/512bits with GOST R 34.11-2012
id-tc26-signwithdigest-gost3410-2012-512 OBJECT IDENTIFIER ::=
{ id-tc26-signwithdigest gost3410-2012-512(3) }
-- GOST R 34.10-2012/256bits Signature algorithm parameters ID: "Set A"
id-tc26-gost-3410-2012-256-paramSetA OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-256-constants paramSetA(1) }
-- GOST R 34.10-2012/256bits signature algorithm parameters ID: "Set B"
id-tc26-gost-3410-2012-256-paramSetB OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-256-constants paramSetB(2) }
-- GOST R 34.10-2012/256bits signature algorithm parameters ID: "Set C"
id-tc26-gost-3410-2012-256-paramSetC OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-256-constants paramSetC(3) }
-- GOST R 34.10-2012/256bits signature algorithm parameters ID: "Set D"
id-tc26-gost-3410-2012-256-paramSetD OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-256-constants paramSetD(4) }
-- GOST R 34.10-2012/512bits signature algorithm parameters ID: "Test set"
id-tc26-gost-3410-2012-512-paramSetTest OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-512-constants paramSetTest(0) }
-- GOST R 34.10-2012/512bits signature algorithm parameters ID: "Set A"
id-tc26-gost-3410-2012-512-paramSetA OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-512-constants paramSetA(1) }
-- GOST R 34.10-2012/512bits signature algorithm parameters ID: "Set B"
id-tc26-gost-3410-2012-512-paramSetB OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-512-constants paramSetB(2) }
-- GOST R 34.10-2012/512bits signature algorithm parameters ID: "Set C"
id-tc26-gost-3410-2012-512-paramSetC OBJECT IDENTIFIER ::=
{ id-tc26-gost-3410-2012-512-constants paramSetC(3) }
-- Public key GOST R 34.10-2012/256bits
GostR3410-2012-256-PublicKey ::= OCTET STRING (SIZE (64))
-- Public key GOST R 34.10-2012/512bits
GostR3410-2012-512-PublicKey ::= OCTET STRING (SIZE (128))
-- Public key GOST R 34.10-2012
GostR3410-PublicKey ::= OCTET STRING (SIZE (64 | 128))
-- Public key parameters GOST R 34.10-2012
GostR3410-2012-PublicKeyParameters ::=
SEQUENCE {
publicKeyParamSet OBJECT IDENTIFIER,
digestParamSet OBJECT IDENTIFIER OPTIONAL
}
END -- GostR3410-2012-PKISyntax
| Рекомендации МСЭ-Т X.690 (02/2021) | международный стандарт ИСО/МЭК 8825-1:2021 [ITU-T Recommendation X.690 (02/2021) | ISO/IEC 8825-1:2021] | Информационная технология. Правила кодирования ASN.1: Спецификации базовых правил кодирования (BER), канонических правил кодирования (CER) и отличительных правил кодирования (DER) [Information Technology - ASN.1 Encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)] |
| Нистром М., Калиски Б. PKCS #10: Спецификация синтаксиса запроса на сертификацию, версия 1.7, ноябрь 2000 (Nystrom M., Kaliski B., PKCS #10: Certification Request Syntax Specification, version 1.7, November 2000) |
| Купер Д., Сантессон С., Фаррел С., Бойен С., Хаусли Р., Полк В. Сертификат инфраструктуры открытых ключей Интернета X.509 и профиль списка отзыва сертификатов (CRL) [Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, IETF RFC 5280, May 2008] |
УДК 681.3.06:006.354 | | | |
Ключевые слова: криптографические протоколы, аутентификация, пароль, ключ |