УВАГА! ДОКУМЕНТ ВТРАЧАЄ ЧИННІСТЬ.
ДЕРЖАВНИЙ КОМІТЕТ УКРАЇНИ
З ПИТАНЬ НАУКИ, ІННОВАЦІЙ ТА ІНФОРМАТИЗАЦІЇ
АДМІНІСТРАЦІЯ ДЕРЖАВНОЇ СЛУЖБИ СПЕЦІАЛЬНОГО ЗВ'ЯЗКУ
ТА ЗАХИСТУ ІНФОРМАЦІЇ УКРАЇНИ
ЗАТВЕРДЖЕНО
Наказ Державного комітету
України з питань науки,
інновацій та інформатизації,
Адміністрації Державної
служби спеціального зв'язку
та захисту інформації
України
13.08.2010 N 8/229
( z1052-10 )
Зареєстровано в Міністерстві
юстиції України
9 листопада 2010 р.
за N 1053/18348

ТЕХНІЧНІ СПЕЦИФІКАЦІЇ

форматів представлення базових об'єктів національної системи електронного цифрового підпису (протокол фіксування часу)

( Рішення про державну реєстрацію документу скасовано на підставі Наказу Міністерства юстиції N 1304/5 (v1304323-11) від 10.05.2011 Висновку Міністерства юстиції N 2/105 (v_105323-11) від 10.05.2011 ) ( Виключено з державного реєстру нормативно-правових актів 01.06.2011 )

I. Загальні положення

1.1. Ці Технічні специфікації визначають процедури формування та перевірки позначки часу, формати даних та протоколи взаємодії органів державної влади та органів місцевого самоврядування у сфері послуг електронного цифрового підпису під час надання послуги фіксування часу.
1.2. Формати даних представлено у нотації ASN.1, визначеній у міжнародному стандарті ISO/IEC 8824 "Information technology - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1)".
1.3. Усі структури даних кодують за правилами DER згідно з міжнародним стандартом ISO/IEC 8825-1:2002 "Information technology - ASN.1 Encoding Rules - Part 1: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)".
1.4. Ці Технічні специфікації розороблено відповідно до міжнародних стандартів RFC 3852 "Cryptographic Message Syntax (CMS)", RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)" та ISO/IEC 18014 "Information technology - Security techniques - Time-stamping services".
1.5. Вимоги цих Технічних специфікацій є обов'язковими для надійних засобів електронного цифрового підпису, програмно-технічних комплексів акредитованих центрів сертифікації ключів. Правильність реалізації протоколу та наведених форматів у засобах ЕЦП повинна бути підтверджена сертифікатом відповідності або позитивним експертним висновком за результатами державної експертизи у сфері криптографічного захисту інформації.
Формати даних у нотації ASN.1, що застосовуються при реалізації протоколу фіксування часу, наведено у додатку 1.
1.6. У цих Технічних специфікаціях терміни вживаються у такому значенні:
послуга фіксування часу - процедура засвідчення наявності електронного документа (електронних даних) на певний момент часу шляхом додання до нього або логічного поєднання з ним позначки часу;
позначка часу - сукупність електронних даних, створена за допомогою технічних засобів та засвідчена електронним цифровим підписом центру сертифікації ключів, яка підтверджує наявність електронного документа (електронних даних) на певний момент часу.
Інші терміни застосовуються у значеннях, наведених у Законі України "Про електронний цифровий підпис" (852-15) , Порядку засвідчення наявності електронного документа (електронних даних) на певний момент часу, затвердженому постановою Кабінету Міністрів України від 26.05.2004 N 680 (680-2004-п) , Порядку акредитації центру сертифікації ключів, затвердженому постановою Кабінету Міністрів України від 13.07.2004 N 903 (903-2004-п) , Правилах посиленої сертифікації, затверджених наказом Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 13.01.2005 N 3 (z0104-05) (у редакції наказу Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 10.05.2006 N 50 (z0568-06) ) , зареєстрованих у Міністерстві юстиції України 27.01.2005 за N 104/10384, інших нормативно-правових актах з питань криптографічного та технічного захисту інформації.
1.7. Для визначення алгоритму гешування поле "algorithm" повинно мати значення
     Gost34311 OBJECT   IDENTIFIER   ::=   {iso(1)  member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1) pki-alg(1)
pki-alg-hash (2) 1}
Поле "parameters" повинно бути відсутнє, але для сумісності з попередніми рішеннями також може бути закодоване як ASN.1 NULL.
1.8. В операціях формування та перевіряння підпису при обчисленні значення геш-функції згідно з ГОСТ 34.311-95 повинен використовуватися довгостроковий ключовий елемент (далі - ДКЕ), зазначений в параметрах ключа підпису.
В усіх інших операціях обчислення значення геш-функції згідно з ГОСТ 34.311-95 повинен використовуватися ДКЕ N 1, наведений у додатку 1 до Інструкції про порядок постачання і використання ключів до засобів криптографічного захисту інформації, затвердженої наказом Адміністрації Державної служби спеціального зв'язку та захисту інформації України від 12.06.2007 N 114 (z0729-07) , зареєстрованої в Міністерстві юстиції України від 25.06.2007 N 729/13996 (далі - ДКЕ N 1).
ДКЕ N 1 (z0729-07) використовується як ДКЕ "за умовчанням".

II. Процедура формування позначки часу

2.1. Під час формування позначки часу користувач та центр сертифікації ключів виконують такі дії:
2.1.1 користувач обчислює геш-значення від електронного документа (електронних даних), на який необхідно сформувати позначку часу;
2.1.2 користувач формує запит на формування позначки часу, який містить:
обчислене геш-значення;
об'єктний ідентифікатор політики формування позначки часу (необов'язково);
ідентифікатор алгоритму гешування, що використовувався;
унікальний ідентифікатор запиту (необов'язково);
необов'язкові розширення;
2.1.3 користувач передає сформований запит до центру сертифікації ключів;
2.1.4 центр сертифікації ключів перевіряє правильність формату запиту та виконує його обробку, формує позначку часу та відповідь, що містить цю позначку, чи відповідь з інформацією про відмову у формуванні позначки часу;
2.1.5 позначка часу містить такі дані:
об'єктний ідентифікатор політики формування позначки часу, що була використана;
геш-значення даних, для яких було сформовано позначку;
серійний номер позначки часу;
час формування позначки;
додаткову інформацію про позначку часу;
ЕЦП, сформований за допомогою особистого ключа центру сертифікації ключів, накладений на позначку часу;
2.1.6 центр сертифікації ключів пересилає відповідь, що містить позначку часу, користувачеві;
2.1.7 користувач після отримання відповіді від центру сертифікації ключів виконує такі дії:
перевіряє результат обробки у відповіді;
перевіряє, чи відповідає ім'я суб'єкта, що підписав позначку часу, імені центру сертифікації ключів;
перевіряє, чи має центр сертифікації ключів право формувати позначки часу;
перевіряє чинність сертифіката відкритого ключа центру сертифікації ключів;
перевіряє ЕЦП, що був накладений на позначку часу;
перевіряє відповідність даних електронного документа та даних, для яких була сформована позначка часу (шляхом порівняння обчисленого геш-значення електронного документа та геш-значення, що записане у позначці часу);
додає позначку часу до електронного документа.

III. Процедура перевірки позначки часу

3.1. Перевірка позначки часу виконується верифікатором за допомогою сертифіката відкритого ключа центру сертифікації ключів автономно, без взаємодії з центром сертифікації ключів.
3.2. Перевірка виконується таким чином:
3.2.1 верифікатор витягує позначку часу з електронного документа, до якого вона була прикріплена;
3.2.2 верифікатор здійснює перевірку позначки часу, виконуючи при цьому такі дії:
отримує ідентифікаційну інформацію з позначки часу про центр сертифікації ключів (інформацію, що однозначно ідентифікує сертифікат центру сертифікації ключів);
за допомогою чинного (на момент формування позначки) сертифіката відкритого ключа центру сертифікації ключів перевіряє ЕЦП, що був накладений на позначку часу;
перевіряє відповідність позначки часу та документа, до якого вона була прикріплена (шляхом порівняння обчисленого геш-значення електронного документа та геш-значення, що зберігається у позначці часу).

IV. Формати даних

4.1. Запит на формування позначки часу має такий формат:
 TimeStampReq ::= SEQUENCE {
 version                INTEGER ( v1(1) ),
 messageImprint         MessageImprint,
 reqPolicy              TSAPolicyId OPTIONAL,
 nonce                  INTEGER OPTIONAL,
 certReq                BOOLEAN DEFAULT FALSE,
 extensions             [0] IMPLICIT Extensions OPTIONAL}
4.1.1. Поле "version" визначає версію формату запиту на формування позначки часу. Значення цього поля дорівнює 1.
4.1.2. Поле "messageImprint" містить геш-значення від даних, на які отримується позначка часу, та ідентифікатор алгоритму гешування.
Геш-значення даних, на які отримується позначка часу, має такий формат:
 MessageImprint ::= SEQUENCE {
 hashAlgorithm          AlgorithmIdentifier,
 hashedMessage          OCTET STRING )
Поле "hashAlgorithm" визначає ідентифікатор алгоритму, за допомогою якого було отримано геш-значення.
Поле "algorithm" типу поля "hashAlgorithm" повинно мати значення:
     Gost34311 OBJECT  IDENTIFIER   ::=   {iso(1)   member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1) pki-alg(1)
pki-alg-hash (2) 1}
Поле "parameters" повинно бути відсутнє, але для сумісності з попередніми рішеннями може також бути закодоване як ASN.1 NULL.
При обчисленні значення геш-функції значення стартового вектора H функції гешування за ГОСТ 34.311-95 встановлюється рівним 256 нульовим бітам. ДКЕ використовується як ДКЕ "за умовчанням" згідно з пунктом 1.8 розділу I цих Технічних специфікацій.
Поле "hashedMessage" містить безпосередньо байти обчисленого гешу.
4.1.3. Поле "reqPolicy" містить об'єктний ідентифікатор політики формування позначок часу.
     TSAPolicyId ::= OBJECT IDENTIFIER
Можливі ідентифікатори для TSAPolicyId щодо застосування криптографічних алгоритмів підпису у відповіді на запит позначки часу:
     ua-PKI-TSP-policy-DSTU-PB ::=        OBJECT        IDENTIFIER
{root(1.2.804.2.1.1.1)  pki-alg(1)  pki-cp  (2) tsp-policy(3) 1} -
для формування   відповіді   з   цифровим   підписом   згідно    з
ДСТУ 4145-2002 (ПБ);
     ua-PKI-TSP-policy-GOST ::=         OBJECT          IDENTIFIER
{root(1.2.804.2.1.1.1)  pki-alg(1)  pki-cp  (2) tsp-policy(3) 2} -
для формування   відповіді   з   цифровим   підписом   згідно    з
ГОСТ 34.310-95;
     ua-PKI-TSP-policy-DSTU-ONB ::=       OBJECT        IDENTIFIER
{root(1.2.804.2.1.1.1)  pki-alg(1)  pki-cp  (2) tsp-policy(3) 3} -
для формування   відповіді   з   цифровим   підписом   згідно    з
ДСТУ 4145-2002 (ОНБ);
ua-PKI-TSP-policy-SHA1withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 4} - для формування відповіді з цифровим підписом SHA1withRSA;
ua-PKI-TSP-policy-SHA224withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 5} - для цифрового підпису SHA224withRSA;
ua-PKI-TSP-policy-SHA256withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 6} - для цифрового підпису SHA256withRSA;
ua-PKI-TSP-policy-SHA384withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 7} - для цифрового підпису SHA384withRSA;
ua-PKI-TSP-policy-SHA512withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 8} - для цифрового підпису SHA512withRSA.
"За умовчанням" використовується політика "ua-PKI-TSP-policy-DSTU-PB".
При обробці запиту позначки часу TSP-служба визначає можливість застосування вказаного у запиті алгоритму та формує відповідь, якщо зазначений алгоритм (політика) підтримується, або помилку, якщо алгоритм не підтримується.
Якщо у запиті алгоритм не вказано або відсутнє поле "reqPolicy", то відповідь формується за алгоритмом, який визначений як алгоритм "за умовчанням", тобто "ua-PKI-TSP-policy-DSTU-PB".
4.1.4. Поле "nonce" містить унікальний ідентифікатор запиту.
4.1.5. Якщо в запиті на формування позначки часу присутнє поле "certReq", сервер у відповіді повинен розмістити з позначкою часу сертифікат, яким було підписано позначку часу.
4.1.6. Поле "extensions" може містити розширення з додатковою інформацією про запит.
4.2. Формат відповіді на запит на формування позначки часу має такий вигляд:
 TimeStampResp ::= SEQUENCE {
 status                 PKIStatusInfo,
 timeStampToken         TimeStampToken OPTIONAL )
4.2.1. Поле "status" містить результат обробки запиту на формування позначки часу.
 PKIStatusInfo ::= SEQUENCE {
 status                 PKIStatus,
 statusString           PKIFreeText OPTIONAL,
 failInfo               PKIFailureInfo OPTIONAL}
Тип "PKIStatusInfo" містить поля, що визначають результат формування (чи відмови у формуванні) позначки часу.
Поле "status" містить код операції формування позначки часу.
 PKIStatus ::= INTEGER {
 granted                (0),
 grantedWithMods        (1),
 rejection              (2),
 waiting                (3),
 revocationWarning      (4),
 revocationNotification (5)}
Можливі значення для типу "PKIStatus" наведені у додатку 2.
Необов'язкове поле "statusString" може містити текстовий опис статусу.
Необов'язкове поле "failInfo" може містити код помилки.
 PKIFailureInfo ::= BIT STRING {
 badAlg                 (0),
 badRequest             (2),
 badDataFormat          (5),
 timeNotAvailable       (14),
 unacceptedPolicy       (15),
 unacceptedExtension    (16),
 addInfoNotAvailable    (17),
 systemFailure          (25)}
Можливі значення для типу "PKIFailureInfo" наведено у додатку 3.
4.2.2. Поле "timeStampToken" містить сформовану позначку часу або є відсутнім (у разі відмови у формуванні позначки часу).
Позначка часу зберігається у форматі "CMS ContentInfo" (відповідно до RFC 3852):
TimeStampToken::= ContentInfo
Поля типу "ContentInfo" для зберігання позначки часу мають такі значення:
поле "contentType" містить об'єктний ідентифікатор:
id-signedData OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2},
що визначає зміст поля "content" як поля, що містить дані з ЕЦП (тип "CMS SignedData").
Поля типу "EncapsulatedContentInfo", що містяться в типі "SignedData", мають такі значення:
поле "eContentType" містить об'єктний ідентифікатор даних, що міститься в полі "content". Для позначки часу це поле повинно мати таке значення:
     id-ct-TSTInfo OBJECT IDENTIFIER  ::=  {iso(1)  member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
Поле "content" містить строку байтів, у якій міститься така структура (у DER-кодуванні):
 TSTInfo::= SEQUENCE {
 version                INTEGER ( v1(1)},
 policy                 TSAPolicyId,
 messageImprint         MessageImprint,
 serialNumber           INTEGER,
 genTime                GeneralizedTime,
 accuracy               Accuracy OPTIONAL,
 nonce                  INTEGER OPTIONAL,
 tsa                    [0] GeneralName OPTIONAL
 extensions             [1] IMPLICIT Extensions OPTIONAL}
Поле "version" містить номер версії формату позначки часу (завжди дорівнює 1).
Поле "policy" містить об'єктний ідентифікатор політики формування позначок часу.
Поле "messageImprint" містить геш-значення даних, на які була отримана позначка часу.
Поле "serialNumber" містить серійний номер позначки часу.
Поле "genTime" містить час формування позначки часу у форматі GMT.
Поле "nonce" може містити унікальний ідентифікатор запиту, на який була сформована позначка часу.
Поле "extensions" може містити розширення із додатковою інформацією про позначку часу, службу фіксації часу центру сертифікації ключів тощо.
4.3. Рекомендовані політики служби фіксування часу наведено у підпункті 4.1.3 пункту 4.1 цього розділу.
Джерелом визначення точного часу є національні сервери точного часу або інші джерела, що пройшли відповідну атестацію органами державного контролю.
Час визначається з точністю до 1 секунди.
Позначка часу повинна бути підписана алгоритмом відповідно до ідентифікатора політики, вказаного у запиті. Якщо ідентифікатор політики не визначено у запиті, то повинна використовуватися політика, яка визначена як політика "за умовчанням".
4.4. Час у позначці часу (поле genTime) кодується у форматі GeneralizedTime - у вигляді рядка YYYYMMDDhhmmss[.sЕ]Z, де YYYYMMDD - дата (рік-місяць-день), а hhmmss - час (години-хвилини-секунди). Якщо потрібна точність більша ніж одна секунда, до запису додається дробова частина (десятковий запис долі однієї секунди). В записі дробової частини потрібно вилучати всі праві нулі; якщо дробова частина складається тільки з нулів, її потрібно пропускати разом із десятковою крапкою.
Запис часу обов'язково завершується літерою "Z" - вказівкою, що час записано відповідно до всесвітнього координованого часу (UTC).
4.5. Сертифікат центру сертифікації ключів, що використовується для фіксування часу, повинен містити розширення "ExtendedKeyUsage", в якому повинен бути зазначений такий об'єктний ідентифікатор, що визначає право підписувати позначки часу:
     id-kp-timeStamping OBJECT    IDENTIFIER    ::=    (    iso(1)
identified-organization(3)    dod(6)    internet(1)    security(5)
mechanisms(5) pkix(7) id-kp(3) 8}
Зазначене розширення повинно бути критичним.

V. Транспортні протоколи

5.1. Для передачі запитів на формування позначок часу та отримання відповідей повинен застосовуватися транспортний протокол HTTP та може застосовуватися транспортний протокол TCP-IP. У разі використання інших транспортних протоколів формати повідомлень не регламентуються.
5.2. Транспортний протокол TCP-IP:
Передача запитів на формування позначок часу та отримання відповідей відбуваються зі встановленням TCP-з'єднання через IP-порт 318 (pkix-timestamp).
Усі повідомлення мають формат, наведений у додатку 4.
Поле "Флаг" може мати значення, наведені в додатку 5.
5.2. Транспортний протокол HTTP:
Передача запиту на формування позначки часу відбувається за допомогою методу POST протоколу HTTP.
Content-Type: application/timestamp-query.
Отримання відповіді у форматі HTTP-відповіді.
Content-Type: application/timestamp-reply.
Усі блоки передаються як байти їх DER-кодування.
5.3. Транспортний протокол, що базується на файловому обміні:
Файли з повідомленнями протоколу фіксування часу повинні містити лише DER-кодовані дані відповідних структур. Не дозволяється додавати до таких файлів будь-яку іншу інформацію (наприклад, у заголовок або у кінець файлу).
Файли, що містять запити на фіксування часу (структура "TimeStampRequest"), повинні мати розширення ".tsq". Файли, що містять відповіді центру сертифікації ключів (структура "TimeStampResponse"), повинні мати розширення ".tsr". Іменами файлів можуть бути довільні дозволені комбінації символів.
5.4. Транспортний протокол, що базується на електронній пошті:
Обмін повідомленнями протоколу фіксування часу через електронну пошту здійснюється за допомогою таких MIME-об'єктів:
Content-Type: application/timestamp-query;
Content-Transfer-Encoding: base64
(base64-кодована DER-структура запиту на фіксування часу);
Content-Type: application/timestamp-reply;
Content-Transfer-Encoding: base64
(base64-кодована DER-структура відповіді на запит фіксування часу).
Рекомендується також включати необов'язкові параметри "name" та "filename". Для імен файлів рекомендується обирати розширення, наведені у пункті 5.3 цього розділу.
Заступник Голови
Державного комітету України
з питань науки,
інновацій та інформатизації
Директор Департаменту
регулювання діяльності
у сфері криптографічного
захисту інформації
Адміністрації Державної служби
спеціального зв'язку
та захисту інформації України
С.О.Колобов
В.І.Бондаренко

Додаток 1
до Технічних специфікацій
форматів представлення
базових об'єктів
національної системи
електронного цифрового
підпису
(протокол фіксування часу)

ФОРМАТИ ДАНИХ

у нотації ASN.1, що застосовуються при реалізації протоколу фіксування часу

     ua-PKI-TSP-policy ::=            OBJECT            IDENTIFIER
{root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3)}
     id-ct-TSTInfo OBJECT  IDENTIFIER  ::=  {iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
 TimeStampReq ::= SEQUENCE {
 version                    INTEGER ( v1(1) ),
 messageImprint             MessageImprint,
 reqPolicy                  TSAPolicyId OPTIONAL,
 nonce                      INTEGER OPTIONAL,
 certReq                    BOOLEAN DEFAULT FALSE,
 extensions                 [0] IMPLICIT Extensions OPTIONAL}
 MessageImprint ::= SEQUENCE {
 hashAlgorithm              AlgorithmIdentifier,
 hashedMessage              OCTET STRING}
 TSAPolicyId ::= OBJECT IDENTIFIER
 TimeStampResp::= SEQUENCE {
 status                     PKIStatusInfo,
 timeStampToken             TimeStampToken OPTIONAL}
 PKIStatusInfo ::= SEQUENCE {
 status                     PKIStatus,
 statusString               PKIFreeText OPTIONAL,
 failInfo                   PKIFailureInfo OPTIONAL}
 PKIStatus ::= INTEGER {
 granted                    (0),
 grantedWithMods            (1),
 rejection                  (2),
 waiting                    (3),
 revocationWarning          (4),
 revocationNotification     (5)}
 PKIFailureInfo ::= BIT STRING {
 badAlg                     (0),
 badRequest                 (2),
 badDataFormat              (5),
 timeNotAvailable           (14),
 unacceptedPolicy           (15),
 unacceptedExtension        (16),
 addInfoNotAvailable        (17),
 systemFailure              (25)}
 TimeStampToken ::= ContentInfo
 TSTInfo ::= SEQUENCE {
 version                    INTEGER {v1(1)},
 policy                     TSAPolicyId,
 messageImprint             MessageImprint,
 serialNumber               INTEGER,
 genTime                    GeneralizedTime,
 accuracy                   Accuracy OPTIONAL,
 nonce                      INTEGER OPTIONAL,
 tsa                        [0] GeneralName OPTIONAL,
 extensions                 [1] IMPLICIT Extensions OPTIONAL}

Додаток 2
до Технічних специфікацій
форматів представлення
базових об'єктів
національної системи
електронного цифрового
підпису
(протокол фіксування часу)

МОЖЛИВІ ЗНАЧЕННЯ

для типу "PKIStatus"

------------------------------------------------------------------
|       Константа      |Числове |              Опис              |
|                      |значення|                                |
|----------------------+--------+--------------------------------|
|granted               |    0   |Позначку часу сформовано        |
|----------------------+--------+--------------------------------|
|grantedWithMods       |    1   |Позначку часу сформовано з      |
|                      |        |модифікаціями                   |
|----------------------+--------+--------------------------------|
|rejection             |    2   |У формуванні позначки часу було |
|                      |        |відмовлено                      |
|----------------------+--------+--------------------------------|
|waiting               |    3   |Сервер ЦСК перенавантажено      |
|----------------------+--------+--------------------------------|
|revocationWarning     |    4   |(Не використовується)           |
|----------------------+--------+--------------------------------|
|revocationNotification|    5   |(Не використовується)           |
------------------------------------------------------------------

Додаток 3
до Технічних специфікацій
форматів представлення
базових об'єктів
національної системи
електронного цифрового
підпису
(протокол фіксування часу)

МОЖЛИВІ ЗНАЧЕННЯ

для типу "PKIFailureInfo"

------------------------------------------------------------------
|     Константа        |  Номер |              Опис              |
|                      |  біта  |                                |
|----------------------+--------+--------------------------------|
|badAlg                |   0    |Невідомий алгоритм гешування або|
|                      |        |такий, що не підтримується      |
|----------------------+--------+--------------------------------|
|badRequest            |   2    |Запит такий, що не              |
|                      |        |підтримується, або недозволений |
|----------------------+--------+--------------------------------|
|badDataFormat         |   5    |Запит пошкоджений               |
|----------------------+--------+--------------------------------|
|timeNotAvailable      |   14   |Неможливо визначити точний час  |
|----------------------+--------+--------------------------------|
|unacceptedPolicy      |   15   |Політика формування позначок    |
|                      |        |часу така, що не підтримується  |
|----------------------+--------+--------------------------------|
|unacceptedExtension   |   16   |Розширення таке, що не          |
|                      |        |підтримується                   |
|----------------------+--------+--------------------------------|
|addInfoNotAvailable   |   17   |Відсутня необхідна додаткова    |
|                      |        |інформація                      |
|----------------------+--------+--------------------------------|
|systemFailure         |   25   |Системна помилка                |
------------------------------------------------------------------

Додаток 4
до Технічних специфікацій
форматів представлення
базових об'єктів
національної системи
електронного цифрового
підпису
(протокол фіксування часу)

ФОРМАТ ПОВІДОМЛЕНЬ

------------------------------------------------------------------
|     Назва блоку      | Розмір |            Примітки            |
|                      | (байт) |                                |
|----------------------+--------+--------------------------------|
|Розмір основного блоку|    4   |Містить розмір полів "Флаг" та  |
|(запиту чи відповіді) |        |"Основний блок". У форматі      |
|                      |        |"network order (big endian)"    |
|----------------------+--------+--------------------------------|
|Флаг                  |    1   |(наведені у додатку 5 цих       |
|                      |        |Технічних специфікацій)         |
|----------------------+--------+--------------------------------|
|Основний блок         |Змінний |Дані                            |
------------------------------------------------------------------

Додаток 5
до Технічних специфікацій
форматів представлення
базових об'єктів
національної системи
електронного цифрового
підпису
(протокол фіксування часу)

ЗНАЧЕННЯ

поля "Флаг"

------------------------------------------------------------------
|     Назва флагу      |Числове |    Опис формату поля "Дані"    |
|                      |значення|                                |
|----------------------+--------+--------------------------------|
|tsaMsg                |   00   |DER-кодовані запит чи відповідь |
|----------------------+--------+--------------------------------|
|pollRep               |   01   |Відповідь з даними для          |
|                      |        |опитування на готовність.       |
|                      |        |Містить 2 поля розміром 4 байти |
|                      |        |(network order):                |
|                      |        |ідентифікатор опитування;       |
|                      |        |час наступного опитування (в    |
|                      |        |секундах).                      |
|                      |        |Ці дані використовуються для    |
|                      |        |подальшого опитування сервера   |
|----------------------+--------+--------------------------------|
|pollReq               |   02   |Запит на отримання початкового  |
|                      |        |повідомлення                    |
|                      |        |Містить ідентифікатор           |
|                      |        |опитування (4 байти)            |
|----------------------+--------+--------------------------------|
|negPollRep            |   03   |Немає подальших опитувань       |
|                      |        |(транзакція закінчена).         |
|                      |        |Містить 1 байт із значенням "00"|
|----------------------+--------+--------------------------------|
|partialMsgRep         |   04   |Часткова відповідь.             |
|                      |        |Містить: ідентифікатор          |
|                      |        |наступного опитування (4 байти);|
|                      |        |час наступного опитування       |
|                      |        |(в секундах, 4 байти);          |
|                      |        |DER-кодовану відповідь          |
|----------------------+--------+--------------------------------|
|finalMsgRep           |   05   |Остання (можливо єдина)         |
|                      |        |відповідь. Містить DER-кодовану |
|                      |        |відповідь                       |
|----------------------+--------+--------------------------------|
|errorMsgRep           |   06   |Помилка. Містить рядок з описом |
|                      |        |помилки                         |
------------------------------------------------------------------