---
title: "Приказ Минкомсвязи России от 14.09.2020 N 472"
number: "472"
issuer: "Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации"
issued_on: 2020-09-14
status: действует
canonical: "https://bukva.ai/docs/prikaz-472-2020-minkomsvyaz-rossii"
---

## Приказ Минкомсвязи России от 14.09.2020 N 472

# Приказ Минкомсвязи России от 14.09.2020 N 472

"Об утверждении Формата электронной подписи, обязательного для реализации всеми средствами электронной подписи"

(Зарегистрировано в Минюсте России 29.10.2020 N 60631)

> [!IMPORTANT]
> Начало действия документа - 09.11.2020.


<a id="p100001"></a>Зарегистрировано в Минюсте России 29 октября 2020 г. N 60631

---


<div align="center">

<a id="p100002"></a>**МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ**<br>
**И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ**

</div>


<a id="p100003"></a>**ПРИКАЗ**
от 14 сентября 2020 г. N 472

<a id="p100004"></a>**ОБ УТВЕРЖДЕНИИ ФОРМАТА**
**ЭЛЕКТРОННОЙ ПОДПИСИ, ОБЯЗАТЕЛЬНОГО ДЛЯ РЕАЛИЗАЦИИ ВСЕМИ**
**СРЕДСТВАМИ ЭЛЕКТРОННОЙ ПОДПИСИ**

<a id="p100005"></a>В соответствии с положениями [пункта 5 части 4 статьи 8](https://bukva.ai/docs/federalnyy-zakon-63-fz-2011/statya-8#p19) Федерального закона от 6 апреля 2011 г. N 63-ФЗ "Об электронной подписи" (Собрание законодательства Российской Федерации, 2011, N 15, ст. 2036; 2019, N 26, ст. 3889) и [абзаца третьего пункта 1](https://bukva.ai/docs/postanovlenie-418-2008#p69) Положения о Министерстве цифрового развития, связи и массовых коммуникаций Российской Федерации, утвержденного постановлением Правительства Российской Федерации от 2 июня 2008 г. N 418 (Собрание законодательства Российской Федерации, 2008, N 42, ст. 4825; 2018, N 40, ст. 6142), приказываю:
1. <a id="p100006"></a>Утвердить [Формат](#p100010) электронной подписи, обязательный для реализации всеми средствами электронной подписи, согласно приложению к настоящему приказу.
2. <a id="p100007"></a>Направить настоящий приказ на государственную регистрацию в Министерство юстиции Российской Федерации.

<a id="p100008"></a>Министр
**М.И.ШАДАЕВ**





<a id="p100009"></a>Утвержден
приказом Министерства
цифрового развития, связи
и массовых коммуникаций
Российской Федерации
от 14.09.2020 N 472

<a id="p100010"></a>**ФОРМАТ**
**ЭЛЕКТРОННОЙ ПОДПИСИ, ОБЯЗАТЕЛЬНЫЙ ДЛЯ РЕАЛИЗАЦИИ ВСЕМИ**
**СРЕДСТВАМИ ЭЛЕКТРОННОЙ ПОДПИСИ**

1. <a id="p100011"></a>Настоящий формат электронной подписи, обязательный для реализации всеми средствами электронной подписи (далее - Формат), устанавливает требования к структуре и содержанию информации в электронной подписи (далее - ЭП).
<a id="p100012"></a>В составе ЭП должна размещаться информация об исходном электронном сообщении, алгоритмах хэширования и ЭП, параметрах криптографических алгоритмов, времени создания ЭП, сертификат ключа проверки ЭП (далее - сертификат), иерархически обусловленная последовательность сертификатов, каждый последующий сертификат которой подписан ЭП, основанной на предшествующем сертификате, и иные, установленные в соответствии с [пунктами 5](#p100019), [6](#p100076) и [7](#p100084) настоящего Формата, сведения.
2. <a id="p100013"></a>В соответствии с настоящим Форматом средства ЭП должны обеспечивать возможность создания нескольких ЭП в одном документе с сохранением данных, описывающих контекст, содержание, структуру документов, а также обеспечивающих управление документами в используемых информационных системах, - метаданных и сертификатов, на которых основаны эти ЭП, в электронном сообщении.
3. <a id="p100014"></a>При включении в состав ЭП дополнительной информации, отличной от указанной в [пунктах 5](#p100019), [6](#p100076) и [7](#p100084) настоящего Формата, требования к ее назначению и расположению в структуре ЭП определяются заказчиком в техническом задании на разработку (модернизацию) средств ЭП и удостоверяющего центра (далее - УЦ), в соответствии с [приказом](https://bukva.ai/docs/prikaz-66-2005#p100011) ФСБ России от 9 февраля 2005 г. N 66 "Об утверждении Положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (Положение ПКЗ-2005)" (зарегистрирован Минюстом России 3 марта 2005 г., регистрационный N 6382), с изменениями, внесенными приказом ФСБ России от 12 апреля 2010 г. N 173 "О внесении изменений в некоторые нормативные правовые акты ФСБ России" (зарегистрирован Минюстом России 25 мая 2010 г., регистрационный N 17350).
4. <a id="p100015"></a>Формат определяется в соответствии с основами аутентификации в открытых системах <1>, синтаксисом криптографических сообщений, описанием дополнительных атрибутов криптографических сообщений, спецификацией абстрактной синтаксической нотации версии один <2>.

<a id="p100016"></a>

---

<a id="p100017"></a><1> Основы аутентификации в открытых системах определены в ГОСТ Р ИСО/МЭК 9594-8-98 "Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 8. Основы аутентификации" (принят и введен в действие постановлением Госстандарта России от 19 мая 1998 г. N 215, опубликован в августе 1998 г. ИПК "Издательство стандартов", ИУС 9-98).
<a id="p100018"></a><2> Спецификация абстрактной синтаксической нотации версии один определена в ГОСТ Р ИСО/МЭК 8824-1-2001 "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации" (принят и введен в действие [постановлением](https://bukva.ai/docs/postanovlenie-375-st) Госстандарта России от 6 сентября 2001 г. N 375-ст, опубликован в ноябре 2001 г. ИПК "Издательство стандартов", ИУС 11-2001).

5. <a id="p100019"></a>В случае если участник электронного взаимодействия является владельцем действующего сертификата ключа проверки электронной подписи, Формат имеет вид следующей структуры:

<a id="p100020"></a>SignedData ::= SEQUENCE {
        version                   CMSVersion,
        digestAlgorithms          DigestAlgorithmIdentifiers,
        encapContentInfo          EncapsulatedContentInfo,
        certificates        [0]   IMPLICIT CertificateSet OPTIONAL,
        crls                [1]   IMPLICIT RevocationInfoChoices OPTIONAL,
        signerInfos               SignerInfos }

<a id="p100021"></a>5.1. Поле version (типа CMSVersion) определяет версию синтаксиса ЭП, которая зависит от сертификатов, типа подписываемых данных и информации о подписывающих сторонах:

<a id="p100022"></a>CMSVersion ::= INTEGER
                    { v0(0), v1(1), v2(2), v3(3), v4(4), v5(5) }

<a id="p100023"></a>5.2. Поле digestAlgorithms (тип DigestAlgorithmIdentifiers) включает в себя идентификаторы используемых алгоритмов хэширования и связанные с ними параметры и определяется следующим образом:

<a id="p100024"></a>DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier

DigestAlgorithmIdentifier ::= AlgorithmIdentifier

<a id="p100025"></a>В качестве идентификатора алгоритма хэширования указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.11-2012 "Информационная технология. Криптографическая защита информации. Функция хэширования" <3> (далее - ГОСТ Р 34.11-2012). Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100026"></a>

---

<a id="p100027"></a><3> ГОСТ Р 34.11-2012 "Информационная технология. Криптографическая защита информации. Функция хэширования" (утвержден и введен в действие [приказом](https://bukva.ai/docs/prikaz-216-st-2012) Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 216-ст, опубликован в апреле 2013 г. ФГУП "СТАНДАРТИНФОРМ", ИУС 3-2013, поправка ИУС 6-2018).

<a id="p100028"></a>для алгоритма с длиной выхода 256 бит:

<a id="p100029"></a>    id-tc26-gost3411-12-256  OBJECT  IDENTIFIER ::= { iso(1) member-body(2)
ru(643)
rosstandart(7) tc26(1) algorithms(1) digest(2) gost3411-12-256(2) }

<a id="p100030"></a>для алгоритма с длиной выхода 512 бит:

<a id="p100031"></a>    id-tc26-gost3411-12-512 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
ru(643) rosstandart(7) tc26(1) algorithms(1) digest(2) gost3411-12-512(3) }

<a id="p100032"></a>5.3. Поле encapContentInfo (тип EncapsulatedContentInfo) содержит подписываемые данные (eContent) вместе с их типом (eContentType) и определяется следующим образом:

<a id="p100033"></a>EncapsulatedContentInfo ::= SEQUENCE {
        eContentType                   ContentType,
        eContent               [0]     EXPLICIT OCTET STRING OPTIONAL }

    ContentType ::= OBJECT IDENTIFIER

<a id="p100034"></a>В случае если поле eContent присутствует, то в нем содержится подписываемый электронный документ. Если поле eContent отсутствует, электронный документ хранится в отдельном файле.
<a id="p100035"></a>5.4. В поле certificates (тип CertificateSet) может включаться дополнительная информация о сертификатах. В данное поле может быть включена информация о сертификатах подписывающих сторон.

<a id="p100036"></a>CertificateSet ::= SET OF CertificateChoices

CertificateChoices ::= CHOICE {
       certificate                   Certificate,
       extendedCertificate     [0]   IMPLICIT ExtendedCertificate,
       v1AttrCert              [1]   IMPLICIT AttributeCertificateV1,
       v2AttrCert              [2]   IMPLICIT AttributeCertificateV2,
       other                   [3]   IMPLICIT OtherCertificateFormat }


##### <a id="p100037"></a>5.4.1 Основной синтаксис типа Certificate представлен следующим образом:


<a id="p100038"></a>    Certificate ::= SEQUENCE   {
         tbsCertificate      TBSCertificate,
         signatureAlgorithm  AlgorithmIdentifier,
         signatureValue      BIT STRING  }

<a id="p100039"></a>Поле signatureAlgorithm (тип SignatureAlgorithmIdentifier) определяет идентификатор использованного алгоритма ЭП и связанные с ним параметры:

<a id="p100040"></a>         SignatureAlgorithmIdentifier ::= AlgorithmIdentifier

<a id="p100041"></a>В настоящем Формате в качестве идентификатора алгоритма ЭП указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" <1> (далее - ГОСТ Р 34.10-2012). Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100042"></a>

---

<a id="p100043"></a><1> ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" (утвержден и введен в действие [приказом](https://bukva.ai/docs/prikaz-215-st-2012) Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 215-ст, опубликован в апреле 2013 г. ФГУП "СТАНДАРТИНФОРМ", ИУС 3-2013, переиздание сентябрь 2018 г.).

<a id="p100044"></a>для алгоритма с длиной выхода 256 бит:

<a id="p100045"></a>    id-tc26-gost3410-12-256  OBJECT  IDENTIFIER ::= { iso(1) member-body(2)
ru(643)
rosstandart(7) tc26(1) algorithms(1) sign(1) gost3410-2012-256(1) }

<a id="p100046"></a>для алгоритма с длиной выхода 512 бит:

<a id="p100047"></a>    id-tc26-gost3410-12-512 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    ru(643)      rosstandart(7)      tc26(1)      algorithms(1)     sign(1)
gost3410-2012-512(2) }

<a id="p100048"></a>5.4.2. Поле extendedCertificate (типа ExtendedCertificate) определяет расширенный сертификат PKCS #6. Расширенные сертификаты PKCS #6 поддерживаются для совместимости с предыдущими версиями и не применяются.
<a id="p100049"></a>5.4.3. Поле v1AttrCert (типа AttributeCertificateV1) определяет сертификат атрибута X.509 версии 1 в соответствии с [пунктом 9](https://bukva.ai/docs/prikaz-795-2011#p100047) Требований к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденных приказом ФСБ России от 27.12.2011 N 795 (зарегистрирован Минюстом России 27 января 2012 г., регистрационный N 23041), используется для совместимости с предыдущими версиями и применению не подлежит.
<a id="p100050"></a>5.4.4. Поле v2AttrCert (типа AttributeCertificateV2) определяет сертификат атрибута X.509 версии 2 в соответствии с [пунктом 9](https://bukva.ai/docs/prikaz-795-2011#p100047) Требований к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденных приказом ФСБ России от 27.12.2011 N 795:

<a id="p100051"></a>AttributeCertificateV2 ::= AttributeCertificate

<a id="p100052"></a>5.4.5. Поле other (типа OtherCeitificateFormat) предназначено для обеспечения возможности поддержки иных форматов сертификатов без внесения изменений в синтаксис криптографических сообщений:

<a id="p100053"></a>    OtherCertificateFormat ::= SEQUENCE {
         otherCertFormat OBJECT IDENTIFIER,
         otherCert ANY DEFINED BY otherCertFormat }


#### <a id="p100054"></a>5.5 В поле crls (тип RevocationInfoChoices) может быть включена дополнительная информация об отзыве сертификатов:


<a id="p100055"></a>RevocationInfoChoices ::= SET OF RevocationInfoChoice

      RevocationInfoChoice ::= CHOICE {
      crl                           CertificateList,
      other                  [1]    IMPLICIT OtherRevocationInfoFormat }

    OtherRevocationInfoFormat ::= SEQUENCE {
      otherRevInfoFormat            OBJECT IDENTIFIER,
      otherRevInfo                  ANY DEFINED BY otherRevInfoFormat }

<a id="p100056"></a>5.5.1. Поле crl (типа CertificateList) определяет список аннулированных сертификатов (CRL). Для вычисления подписи данные, которые должны быть подписаны, представляются в ASN.1-коде по DER-правилам:

<a id="p100057"></a>CertificateList ::=   SEQUENCE {
     tbsCertList          TBSCertList,
     signatureAlgorithm   AlgorithmIdentifier,
     signatureValue       BIT STRING  }

TBSCertList  ::=  SEQUENCE  {
     version                 Version OPTIONAL,
                                  -- если представлено, то должно быть 2-й версии
     signature               AlgorithmIdentifier,
     issuer                  Name,
     thisUpdate              Time,
     nextUpdate              Time OPTIONAL,
     revokedCertificates     SEQUENCE OF SEQUENCE  {
          userCertificate         CertificateSerialNumber,
          revocationDate          Time,
          crlEntryExtensions      Extensions OPTIONAL
                                   -- если представлено, то должно быть 2-й версии
                               }  OPTIONAL,
     crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
                                   -- если представлено, то должно быть 2-й версии
                               }

<a id="p100058"></a>5.5.2. Поле other (типа OtherRevocationInfoFormat) определяет форматы информации об отзыве без дополнительного изменения синтаксиса криптографических сообщений.
<a id="p100059"></a>5.6. В поле signerInfos (тип SignerInfos) содержится информация о каждой подписывающей стороне электронного документа.

<a id="p100060"></a>    SignerInfos ::= SET OF SignerInfo

       SignerInfo ::= SEQUENCE {
         version                      CMSVersion,
         sid                          SignerIdentifier,
         digestAlgorithm              DigestAlgorithmIdentifier,
         signedAttrs             [0]  IMPLICIT SignedAttributes OPTIONAL,
         signatureAlgorithm           SignatureAlgorithmIdentifier,
         signature                    SignatureValue,
         unsignedAttrs           [1]  IMPLICIT UnsignedAttributes OPTIONAL }

<a id="p100061"></a>5.6.1. Поле sid (тип SignerIdentifier) определяет сертификат подписывающей стороны, необходимый для проверки подлинности ЭП.

<a id="p100062"></a>         SignerIdentifier ::= CHOICE {
              issuerAndSerialNumber          IssuerAndSerialNumber,
              subjectKeyldentifier     [0]   SubjectKeyIdentifier }

<a id="p100063"></a>В структуре ЭП должен использоваться вариант определения сертификата путем задания значения issuerAndSerialNumber.
<a id="p100064"></a>5.6.2. Поле digestAlgorithm (тип DigestAlgorithmIdentifier) определяет идентификаторы использованного в данной ЭП алгоритма хэширования и связанные с ним параметры.
<a id="p100065"></a>В качестве идентификатора алгоритма хэширования указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.11-2012. Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один определяется следующим образом:
<a id="p100066"></a>для алгоритма с длиной выхода 256 бит:

<a id="p100067"></a>    id-tc26-gost3411-12-256  OBJECT  IDENTIFIER ::= { iso(1) member-body(2) ru(643)
rosstandart(7) tc26(1) algorithms(1) digest(2) gost3411-12-256(2) }

<a id="p100068"></a>для алгоритма с длиной выхода 512 бит:

<a id="p100069"></a>    id-tc26-gost3411-12-512  OBJECT  IDENTIFIER ::= { iso(1) member-body(2)
ru(643) rosstandart(7) tc26(1) algorithms(1) digest(2) gost3411-12-512(3) }

<a id="p100070"></a>5.6.3. Поле signedAttrs (тип SignedAttributes) должно определять дополнительную подписываемую информацию (далее - подписываемые атрибуты). Обязательные к включению подписываемые атрибуты определяются следующим образом:

<a id="p100071"></a>        SignedAttributes ::= SET SIZE (1..MAX) OF Attribute

           Attribute ::= SEQUENCE {
             attrType            OBJECT IDENTIFIER,
             attrValues          SET OF AttributeValue }

           AttributeValue ::= ANY


##### <a id="p100072"></a>5.6.4 Поле signature (тип SignatureValue) содержит строку бит, полученную в результате процесса формирования ЭП:


<a id="p100073"></a>        SignatureValue ::= OCTET STRING

<a id="p100074"></a>5.6.5. Поле unsignedAttrs (тип UnsignedAttributes) определяет дополнительную неподписываемую информацию (далее - неподписываемые атрибуты):

<a id="p100075"></a>        UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute

6. <a id="p100076"></a>Обязательными подписываемыми атрибутами являются:
<a id="p100077"></a>6.1. Тип содержимого (Content-type). Должен быть добавлен в атрибут id-contentType с объектным идентификатором вида "1.2.840.113549.1.3";
<a id="p100078"></a>6.2. Строка бит, являющаяся выходным результатом функции, отображающей строки бит в строки бит фиксированной длины и удовлетворяющей следующим условиям:
<a id="p100079"></a>по данному значению функции невозможно на период действия сертификата вычислить исходные данные, отображаемые в этом значении;
<a id="p100080"></a>для заданных исходных данных невозможно на период действия сертификата вычислить другие исходные данные, отображаемые в этом значении;
<a id="p100081"></a>невозможно на период действия сертификата вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение хэш-функции (далее - хэш-код) электронного сообщения (Message-digest).
<a id="p100082"></a>Результат функции, отображающей строки бит в строки бит фиксированной длины и удовлетворяющей указанным условиям должен быть добавлен в атрибут id-messageDigest с объектным идентификатором вида "1.2.840.113549.1.4";
<a id="p100083"></a>6.3. Хэш-код от набора полей сертификата, позволяющих однозначно его идентифицировать, должен быть добавлен в атрибут id-aa-signingCertificateV2 с объектным идентификатором вида "1.2.840.113549.1.9".
7. <a id="p100084"></a>В случае если участник электронного взаимодействия не является владельцем действующего сертификата ключа проверки электронной подписи, Формат должен иметь вид следующей структуры:

<a id="p100085"></a>        CertificationRequest ::= SEQUENCE {
           certificationRequestInfo CertificationRequestInfo,
           SignatureAlgorithm     AlgorithmIdentifier {{Signature Algorithms}},
        Signature                  BITSTRING}, где

<a id="p100086"></a>certificationRequestInfo - подписываемая информация;
<a id="p100087"></a>signatureAlgorithm - информация об алгоритме ЭП, который использовался при формировании ЭП структуры certificationRequestInfo;
<a id="p100088"></a>signature - ЭП структуры certificationRequestInfo, сформированная с использованием алгоритма, указанного в SignatureAlgorithm.
<a id="p100089"></a>7.1. Структура CertificationRequestInfo в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100090"></a>        CertificationRequestInfo ::= SEQUENCE {
             version          INTEGER { v1(0) } (v1,...),
             subject          Name,
             subjectPKInfo    SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
             attributes [0]  Attributes{{ CRIAttributes }} }, где

<a id="p100091"></a>version - номер версии стандарта (в данном формате данное поле должно принимать значение 0)
<a id="p100092"></a>subject - имя субъекта, владеющего ключом ЭП, имеющее тип Name, которое заполняется в соответствии с [Требованиями](https://bukva.ai/docs/prikaz-795-2011#p100011) к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденными приказом ФСБ России от 27.12.2011 N 795;
<a id="p100093"></a>subjectPKInfo - набор элементов, содержащих информацию о ключе проверки ЭП и имеющих структуру SubjectPublicKeyInfo;
<a id="p100094"></a>attributes - набор атрибутов.
<a id="p100095"></a>Структура SubjectPublicKeyInfo в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100096"></a>        SubjectPublicKeyInfo (ALGORITHM: IOSet} ::= SEQUENCE {
            algorithm              AlgorithmIdentifier {{IOSet} }
            subjectPublicKey       BIT STRING }, где

<a id="p100097"></a>algorithm - алгоритм и набор параметров алгоритма ЭП;
<a id="p100098"></a>subjectPublicKey - ключ проверки ЭП.
<a id="p100099"></a>Поле algorithm структуры SubjectPublicKeyInfo задается структурой AlgorithmIdentifier, описанной в ГОСТ Р ИСО/МЭК 9594-8 и содержащей следующие поля:
<a id="p100100"></a>algorithm - идентификатор алгоритма ЭП;
<a id="p100101"></a>parameters - параметры открытого ключа алгоритма ЭП.
<a id="p100102"></a>Поле algorithm структуры AlgorithmIdentifier должно содержать следующий идентификатор алгоритма:
<a id="p100103"></a>для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100104"></a>        id-tc26-gost3410-12-256 OBJECT IDENTIFIER ::=
        { iso(1) member-body(2) ru(643) rosstandart(7) tc26(1) algorithms (1)
        sign(1) gost3410-2012-256(1) }

<a id="p100105"></a>для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100106"></a>        id-tc26-gost3410-12-512 OBJECT IDENTIFIER ::=
        { iso(1) member-body(2) ru(643) rosstandart (7) tc26(1) algorithms(1)
        sign(1) gost3410-2012-512(2) }

<a id="p100107"></a>Поле parameters структуры AlgorithmIdentifier имеет структуру GostR3410-2012-PublicKeyParameters, которая в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100108"></a>        GostR3410-2012-PublicKeyParameters ::= SEQUENCE {
            publicKeyParamSet OBJECT IDENTIFIER,
            digestParamSet    OBJECT IDENTIFIER OPTIONAL }, где

<a id="p100109"></a>publicKeyParamSet - идентификатор параметров ключа проверки ЭП, соответствующего алгоритму ЭП ГОСТ Р 34.10-2012;
<a id="p100110"></a>digestParamSet - идентификатор хэш-функции ГОСТ Р 34.11-2012.
<a id="p100111"></a>данное поле не следует использовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 512 бит;
<a id="p100112"></a>данное поле должно присутствовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:

<a id="p100113"></a>        id-GostR3410-2001-CryptoPro-A-ParamSet
        id-GostR3410-2001-CryptoPro-B-ParamSet
        id-GostR3410-2001-CryptoPro-C-ParamSet
        id-GostR3410-2001-CryptoPro-XchA-ParamSet
        id-GostR3410-2001-CryptoPro-XchB-ParamSet

<a id="p100114"></a>при этом он должен быть равен идентификатору алгоритма хэширования ГОСТ Р 34.11-2012 с длиной выхода 256 бит:

<a id="p100115"></a>        id-tc26-gost3411-12-256

<a id="p100116"></a>данное поле не следует использовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующем значении поля publicKeyParamSet:

<a id="p100117"></a>        id-tc26-gost-3410-2012-256-paramSetA

<a id="p100118"></a>данное поле должно отсутствовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:

<a id="p100119"></a>        id-tc26-gost-3410-2012-256-paramSetB
        id-tc26-gost-3410-2012-256-paramSetC
        id-tc26-gost-3410-2012-256-paramSetD

<a id="p100120"></a>Поле subjectPublicKey структуры SubjectPublicKeyInfo содержит ключ проверки ЭП, который задается парой координат (x, y), определенной ГОСТ Р 34.10-2012, представляется следующим образом:
<a id="p100121"></a>ключ проверки ЭП, соответствующий алгоритму ГОСТ Р 34.10-2012 с длиной ключа 256 бит, имеет представление GostR3410-2012-256-PublicKey, которое задается байтовой строкой длины 64 байта, где первые 32 байта содержат представление координаты x в формате little-endian (младший бит записывается первым), а последние 32 байта содержат представление координаты y в формате little-endian;
<a id="p100122"></a>ключ проверки ЭП, соответствующий алгоритму ГОСТ Р 34.10-2012 с длиной ключа 512 бит, имеет представление GostR3410-2012-512-PublicKey, которое задается байтовой строкой длины 128 байт, где первые 64 байта содержат представление координаты x в формате little-endian, а последние 64 байта содержат представление координаты y в формате little-endian.
<a id="p100123"></a>Ключи проверки ЭП GostR3410-2012-256-PublicKey и GostR3410-2012-512-PublicKey должны быть представлены в ASN.1-коде по DER-правилам в виде строки байт (OCTET STRING) в соответствии с ГОСТ Р ИСО/МЭК 8825-1:

<a id="p100124"></a>        GostR3410-2012-256-PublicKey ::= OCTET STRING (64)
        GostR3410-2012-512-PublicKey ::= OCTET STRING (128)

<a id="p100125"></a>7.2. Поле algorithm структуры signatureAlgorithm содержит идентификатор алгоритма ЭП и связанных с ним параметров, который используется при формировании ЭП структуры CertificationRequestInfo с использованием ключа ЭП:
<a id="p100126"></a>для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100127"></a>        id-tc26-signwithdigest-gost3410-12-256 OBJECT IDENTIFIER ::=
        {iso(1)  member-body(2)  ru(643)  rosstandart(7)  tc26(1)  algorithms(1)
        signwithdigest(3) gost3410-2012-256(2) }

<a id="p100128"></a>для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:

<a id="p100129"></a>        id-tc26-signwithdigest-gost3410-12-512 OBJECT IDENTIFIER ::=
        {iso(1)  member-body(2)  ru(643)  rosstandart(7)  tc26(1)  algorithms(1)
        signwithdigest(3) gost3410-2012-512(3)}

<a id="p100130"></a>Поле parameters структуры signatureAlgorithm должно отсутствовать.
<a id="p100131"></a>7.3. Поле signature структуры CertificationRequest содержит ЭП подписываемой информации.
<a id="p100132"></a>Результатом работы алгоритма ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит является два числа r и s, определенные ГОСТ Р 34.10-2012 и имеющие длину 256 бит каждое.
<a id="p100133"></a>При использовании алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит поле signature задается битовой строкой (BITSTRING) длины 512 бит; при этом первые 256 бит содержат число s в представлении big-endian (старший бит записывается первым), а вторые 256 бит содержат число r в представлении big-endian.
<a id="p100134"></a>Результатом работы алгоритма ЭП ГОСТ Р 34.10-2012 с длиной ключа 512 бит является два числа r и s, определенные ГОСТ Р 34.10-2012 и имеющие длину 512 бит каждое.
<a id="p100135"></a>При использовании алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит поле signature задается битовой строкой (BITSTRING) длины 1024 бит; при этом первые 512 бит содержат число s в представлении big-endian, а вторые 512 бит содержат число r в представлении big-endian.



<a id="p100136"></a>

---
