Темы статей
Выбрать темы

Об утверждении Унифицированного формата транспортного уведомления при информационном взаимодействии плательщиков налогов и налоговых органов в электронном виде телекоммуникационными каналами связи с использованием электронной цифровой подписи

Приказ от 12.07.2010 г. № 499

ГОСУДАРСТВЕННАЯ НАЛОГОВАЯ АДМИНИСТРАЦИЯ УКРАИНЫ

 

Унифицированный формат транспортного сообщения
при информационном взаимодействии плательщиков налогов
и налоговых органов в электронном виде
по телекоммуникационным каналам связи с использованием
 электронной цифровой подписи

 

Утверждено приказом от 12.07.2010 г. № 499

 

Унифицированный формат транспортного сообщения для обмена информацией между плательщиками налогов и налоговыми органами в электронном виде с использованием электронной цифровой подписи (далее — Унифицированный формат транспортного сообщения) применяется для организации обмена электронными документами между плательщиками налогов и налоговыми органами непосредственно и по телекоммуникационным каналам связи с использованием электронной цифровой подписи (далее — ЭЦП). Обмен электронными документами осуществляется с помощью транспортного сообщения (далее — ТС), состоит из реквизитов ТС и транспортного контейнера, содержащего зашифрованные данные (электронные отчеты, квитанции и т. п.).

Квитанции о приеме электронных документов, созданные налоговыми органами, являются электронными документами и передаются плательщику налогов в унифицированном формате транспортного сообщения, регламентированном в настоящем документе.

 

1. ПУТИ ОБМЕНА ИНФОРМАЦИЕЙ

Обмен информацией между плательщиками налогов и налоговыми органами в электронном виде может проводиться двумя путями:

— электронный документ передается непосредственно в налоговый орган на электронном носителе информации (дискета, флэш-накопитель и т. п.);

— электронный документ передается в налоговый орган по телекоммуникационным каналам связи.

 

2. ТРЕБОВАНИЯ К КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЕ ИНФОРМАЦИИ

Все криптографические преобразования выполняются средствами систем криптографической защиты информации (СКЗИ), которые должны отвечать следующим требованиям:

— реализовывать процедуры формирования и проверки ЭЦП в соответствии с национальным стандартом ДСТУ 4145-2002;

— реализовывать процедуры открытого распределения ключей в соответствии с национальным стандартом ДСТУ ISO IEC 15946-3:2006;

— реализовывать процедуры симметричной шифровки в соответствии с региональным ГОСТ 28147-89;

— быть сертифицированными в соответствии с законодательством Украины.

Функции библиотек криптографических преобразований, предоставляемых центрами сертификации ключей для интеграции в систему приема и обработки налоговой отчетности, должны отвечать спецификациям криптографических преобразований, изложенных в приложении 3.

 

3. УНИФИЦИРОВАННЫЙ ФОРМАТ ТРАНСПОРТНОГО СООБЩЕНИЯ

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

Схема унифицированного транспортного сообщения представлена на рис. 1.

img 1

ДОК1, 2, …k — файл электронного документа;

ЭЦП1, 2, …n — одна либо несколько электронно-цифровых подписей, которыми заверен документ;

С1, 2, …n — один либо несколько блоков с сертификатами ключей ЭЦП, которыми заверен документ.

 

4. ТРЕБОВАНИЯ К СТРУКТУРЕ ТРАНСПОРТНОГО СООБЩЕНИЯ, КОТОРОЕ ПЕРЕДАЕТСЯ по ТЕЛЕКОММУНИКАЦИОННЫМ КАНАЛАМ СВЯЗИ

Транспортное сообщение представляет собой файл в формате электронной почты (MIME), оформленный по стандарту RFC-1521.

Файл, содержащий транспортный контейнер, входит в транспортное сообщение как файл-вложение («Content-Disposition: attachment»). Имя файла-вложения указано в поле «filename». Размер файла транспортного контейнера не может быть нулевым.

Транспортное сообщение может иметь только одного получателя.

Одно транспортное сообщение должно содержать только один вложенный в него транспортный контейнер. Размер транспортного сообщения не должен превышать 10 Мбайт.

Идентификационный код плательщика налогов по ЕГРПОУ или индивидуальный налоговый номер физического лица (далее — ЕГРПОУ).

Заглавие транспортного сообщения должно содержать такие обязательные поля:

«

From:» — поле, содержащее имя отправителя в кодировке «Quoted Printable/Windows 1251» или «Base64/Windows 1251» и электронный адрес отправителя, помещенный в угловые скобки < >;

«

Reply-To:» — поле, содержащее имя отправителя в кодировке «Quoted Printable/Windows 1251» или «Base64/Windows 1251» и электронный адрес отправителя, помещенный в угловые скобки < >;

«

To:» — поле, содержащее имя получателя в кодировке «Quoted Printable/Windows 1251» или «Base64/Windows 1251» и электронный адрес получателя, помещенный в угловые скобки < >;

«

MESSAGE-ID:» — поле, содержащее уникальный, в пределах организации отправителя, идентификатор сообщения произвольного формата с длиной, не превышающей 40 символов;

«

Content-Transfer-Encoding:» — поле, содержащее механизм кодировки тела сообщения. Допустимые значения: «Quoted Printable/Windows 1251», «Base64».

Присоединенному файлу вложения должны отвечать поля:

«

Content-Type:», содержащее ключевое слово «application/octet-stream» и параметр «name=». Параметр «name» должен содержать имя файла вложения. Имя файла должно кодироваться в Quoted Printable/Windows 1251 или Base64/Windows 1251.

«

Content-Disposition:», содержащее ключевое слово «attachment» и параметр «filename». Имя файла должно кодироваться в Quoted Printable/Windows 1251 или Base64/Windows 1251.

«

Content-Length:», содержащее длину вложения.

«

Subject:» — содержание поля представлено в кодировке «Quoted Printable/Windows 1251» или «Base64/Windows 1251», определяется типом документа и именем присоединенного транспортного контейнера.

Пример транспортного сообщения, которое содержит документ налоговой отчетности (расчет), приведен в приложении 1.

Пример файла документа налоговой отчетности приведен в приложении 2.

 

5. ТРЕБОВАНИЯ К СТРУКТУРЕ ТРАНСПОРТНОГО КОНТЕЙНЕРА ДЛЯ ПЕРЕДАЧИ ДОКУМЕНТОВ в НАЛОГОВый ОРГАН

5.1 Обобщенный формат транспортного контейнера для передачи документов в налоговый орган

Заглавие транспортного контейнера

Реквизиты шифровки данных

Зашифрованные данные

5.2 Перечень блоков данных транспортного контейнера для передачи документов в налоговый орган

Зашифрованный блок данных

Формат зашифрованного блока данных:

Элемент

Значение

Сигнатура

"XXX_ CRYPT",

где XXX — код Центра сертификации электронных ключей: "A", "B", "C" … — символьный идентификатор, присвоенный АЦСК*

0-символ

 

4 байта

размер зашифрованного документа

Зашифрованный документ

 

Подпись

Формат подписи:

Элемент

Значение

Сигнатура

"XXX_SIGN", где XXX — код Центра сертификации электронных ключей: “A”, “B”, “C” … — символьный идентификатор, присвоенный АЦСК*

0-символ

 

4 байта

размер буфера подписи и подписанных данных

Буфер подписи и подписанных данных

 

Отметка времени

Отметка времени получается из АЦСК по протоколу TSP (Timestamp Protocol). Формат отметки времени:

Элемент

Значение

1

2

Сигнатура

"XXX_STAMP", где XXX — код Центра сертификации электронных ключей: "A", "B", "C" … — символьный идентификатор, присвоенный АЦСК*

0-символ

 

4 байта

размер хеша оригинального документа

хеш оригинального документа

 

4 байта

размер буфера отметки времени

Буфер отметки времени

 

4 байта

размер данных, на которые наложена отметка времени

Блок данных, на которые наложена отметка времени

 

* Символьный идентификатор, присвоенный АЦСК, называется по порядку букв латинского алфавита в соответствии с очередностью прохождения ими аккредитации в Украине. То есть первому аккредитованному ЦСК в Украине будет присвоен символ «А», второму по времени аккредитации — символ «В», третьему — «С», далее согласно латинскому алфавиту.

Заглавие транспортного контейнера

Транспортное заглавие документа содержит информацию о передаваемом документе. Формат транспортного заглавия документа:

Элемент

Значение

Сигнатура

"

TRANSPORTABLE"

0-символ

 

4-байтовый размер транспортного заглавия

без учета длины сигнатуры и 0-символа

CR/LF

символы возвращения каретки (0D) и перевода строки (0A)

Строка 1

последовательность вида <Тег>=<Значение>

Строка 2

 

 

Строка n

 

Теги, используемые в транспортном заглавии документа:

Наименование

Значение

Обязательность заполнения

1

2

3

FILENAME

Имя отправляемого файла в верхнем регистре (в кодировке Win1251), заканчивающееся символом CHR(13)+ CHR(10)

Да

SND_NAME

Наименование/ФИО подающего отчет плательщика налогов (в кодировке Win1251), заканчивающееся символом CHR(13)+ CHR(10)

Нет

SND_EMAIL

E-Mail отправителя (в кодировке Win1251), заканчивающийся символом CHR(13)+ CHR(10)

Нет

RCV_NAME

Наименование получателя (в кодировке Win1251), заканчивающееся символом CHR(13)+ CHR(10)

Нет

RCV_EMAIL

E-Mail получателя (в кодировке Win1251), заканчивающийся символом CHR(13)+ CHR(10)

Да

PRG_TYPE

Название программного обеспечения для наложения и проверки ЭЦП отправителя длиной не более десяти символов (в кодировке Win1251), заканчивающееся символом CHR(13)+ CHR(10)

Да

PRG_VER

Версия программного обеспечения для наложения и проверки ЭЦП отправителя длиной не более десяти символов (в кодировке Win1251), заканчивающаяся символом CHR(13)+ CHR(10)

Нет

SND_DATE

Дата и время отправления в формате YYYYMMDDHHNNSS без распределителей, заканчивающиеся символом CHR(13)+ CHR(10)

Да

CERTYPE

Символьный идентификатор, присвоенный АЦСК (XXX), заканчивающийся символом CHR(13)+ CHR(10)

Да

CRC32_SIGN

Контрольная сумма согласно алгоритму CRC32 зашифрованного блока данных, заканчивающаяся символом CHR(13)+ CHR(10)

Да

CRC32_FILE

Контрольная сумма согласно алгоритму CRC32 подписанного блока данных, заканчивающаяся символом CHR(13)+ CHR(10)

Да

SUBJECT

Тип документа налоговой отчетности (в кодировке Win1251), заканчивающийся символом CHR(13)+ CHR(10)

Да

GET_STAMP

Признак необходимости передачи в ответ отметки времени

Нет

RESULT

Результат приема сообщения (0 — успешно, 1 — ошибка, 2 — предупреждение)

Нет

 

5.3 Форматы сообщений, отсылаемых в транспортном контейнере для передачи документов в налоговый орган

 

Формат сообщения «Документ»

Сообщение передается от плательщика налогов в налоговый орган.

Структура:

1. Подпись отправителя.

2. Транспортное заглавие документа.

3. Блок данных, зашифрованный на получателя, содержит подписи плательщика налогов и блок с документом в формате XML.

 

Внимание!

Подписи плательщика должны налагаться в таком порядке:

1. Подписанная секция (XXX_SIGN) — подписанная ключом главного бухгалтера (при условии наличия должности на предприятии).

2. Подписанная секция (XXX_SIGN) — подписанная ключом директора (руководителя) предприятия.

3. Подписанная секция (XXX_SIGN) — подписанная ключом цифровой печати предприятия (при условии ее наличия).

4. Подписанная секция (XXX_SIGN) — подписанная ключом цифровой печати филиала предприятия (при условии наличия филиала на предприятии).

5. Блок с документом в формате XML.

 

Формат сообщения «Документ с отметкой времени»

Сообщение передается от налогового органа к плательщику налогов.

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

Структура:

1. Транспортное заглавие документа.

2. Блок данных, зашифрованный на получателя:

2.1. Подпись налогового органа.

2.2. Отметка времени на момент получения документа от плательщика налогов.

2.3. Подписи плательщика налогов.

2.4. Блок с документом в формате XML.

 

Формат сообщения «Ответ на документ»

Сообщение передается от налогового органа к плательщику налогов. Сообщение является ответом налогового органа на переданный документ. Например, квитанция о назначении регистрационного номера.

Структура:

1. Подпись налогового органа.

2. Транспортное заглавие документа.

3. Блок, зашифрованный на плательщика налогов, содержит подписи и текст ответа налогового органа.

 

Формат сообщения «Ответ на документ с отметкой времени»

Сообщение передается от налогового органа к плательщику налогов. Сообщение является ответом налогового органа на переданный документ, если транспортное заглавие документа содержит тег «GET_STAMP=1». Например, квитанция о назначении регистрационного номера.

Структура:

1. Отметка времени.

2. Подпись налогового органа.

3. Транспортное заглавие документа.

4. Блок, зашифрованный на плательщика налогов, содержит подписи и текст ответа налогового органа.

 

 

Приложение 1

ПРИМЕР ТРАНСПОРТНОГО СООБЩЕНИЯ, КОТОРОЕ СОДЕРЖИТ ДОКУМЕНТ НАЛОГОВОЙ ОТЧЕТНОСТИ

From:

"deklarenko@podatok.com" < deklarenko@podatok.com >

Subject: Zvit_to_STA_Report_Package:00000126

To: r2658@kyivsta.gov.ua

Content-Type: multipart/mixed; boundary=

"nKL74aFLyX=_quTCo1fSXn7ExWmSEcWQKL"

MIME-Version: 1.0

Reply-To: deklarenko@podatok.kiev.ua

Date: Tue, 8 Apr 2008 06:55:18 + 0300

X-Mailer: Best Zvit MailAgent (v.08.001.0016)

Message-Id: <E1Jj7og-0005FF-PO@ podatok.kiev.ua>

 

This is a multi-part message in MIME format

 

--nKL74aFLyX=_quTCo1fSXn7ExWmSEcWQKL

Content-Type: text/plain; сharset=

"windows-1251"

Content-Transfer-Encoding: 8bit

 

deklarenko@podatok.com

00000126

Закрите акціонерне товариство

"Нагляд"

Петров Петро Петрович

 

--nKL74aFLyX=_quTCo1fSXn7ExWmSEcWQKL

Content-Type: application/octet-stream;

name=

"26580000000126J020010610000132032008.XML"

Content-Transfer-Encoding: base64

Content-Disposition: attachment;

filename=

"26580000000126J020010610000132032008.XML"

 

VFJBTlNQT1JUQUJMRQBsAQAARklMRU5BTUU9MjY1ODAwMDAwMDAxMjZKMDIwMDEwNjEwMDAwMTMy

MDMyMDA4LlhNTA0KRURSUE9VPTAwMDAwMTI2DQpTTkRfTkFNRT0gx+Dq8Ojy5SDg6vaz7u3l8O3l

IPLu4uDw6PHy4u4gIs3g4+v/5CINClNORF9FTUFJTD1jaGVwb3N0QGludGVsc2Vydi5raWV2LnVh

DQpSQ1ZfRU1BSUw9Y2hlcG9zdEBpbnRlbHNlcnYua2lldi51YQ0KUFJHX1RZUEU9QlpfUExVUw0K

UFJHX1ZFUj04NTQwMDANClNORF9EQVRFPTIwMDgwNDA4MTAwMDI2DQpDRVJUWVBFPVVTQw0KRFBB

X0NEPTI2NTgNCkNSQzMyX1NJR049Qzk1QjRCMDcNCkNSQzMyX0ZJTEU9NDFGNjgwNkQNClNVQkpF

Q1Q9x+Jp8u3gICDP7uTg8uru4uAg5OXq6+Dw4Paz/yDnIM/Ewg0KAFVTQ19DUllQVAAOAwAAMIID

CjCCArKgAwIBAgICIBcwDQYLKoYkAgEBAQEDAQEwTDELMAkGA1UEBhMCVUExETAPBgNVBAcMCNCa

0LjRl9CyMSowKAYDVQQDDCHQptCh0Jog0KLQntCSICLQo9Ch0KYiICjRgtC10YHRgikwHhcNMDcw

NDEzMDk0MjI5WhcNMDgwNDEyMDk0MjI5WjCB9DELMAkGA1UEBhMCVUExQjBABgNVBAoMOdCU0J9J

INCjINCh0J7Qm9Ce0Jwn0K/QndCh0KzQmtCe0JzQoyDQoC3QnUkg0Jwu0JrQmNCE0JLQkDERMA8G

A1UECwwIMjI2ODg4NjAxQjBABgNVBAMMOdCU0J9JINCjINCh0J7Qm9Ce0Jwn0K/QndCh0KzQmtCe

0JzQoyDQoC3QnUkg0Jwu0JrQmNCE0JLQkDE+MDwGA1UEEAw1MDMxNTEsINC8LtCa0LjRl9CyLCDQ

stGD0Lsu0KHQvNGW0LvRj9C90YHRjNC60LAsINCxLjYxCjAIBgNVBC4MATIwXTAgBg0qhiQCAQEB

AQMBAQEBMA8GDSqGJAIBAQEBAwEBAgkDOQAENggKYG8dpjombuOKKHjU8EmJs6mx7/i8jQBGRnXF

QewQfz6SWn2MACp4p10+cy9ycAdlwg8c66OB0zCB0DAfBgNVHREEGDAWgRRyMjY1OEBreWl2c3Rh

Lmdvdi51YTApBgNVHQ4EIgQgK9puJeBtvEuvL+x8hHjhyvDkJ2UhesH2WMHGDXFoMa0wJQYDVR0J

BB4wHDAaBgwqhiQCAQEBCwEEAgExChMIMjI2ODg4NjAwDgYDVR0PAQH/BAQDAgTwMB4GCCsGAQUF

BwEDAQH/BA8wDTALBgkqhiQCAQEBAgEwKwYDVR0jBCQwIoAg9ZI+eWr6Mnhv09/u27LVMD1lhQL/

rXDVIM01FUJHBvUwDQYLKoYkAgEBAQEDAQEDQwAEQEnfst10pV6MWBXYaHozzoxTBeEu9agZgOZS

GB3cO9ES9nNMtduB0/pBT0e8sK9hH63CrgHlIB21K3vvVdCHMjUMDQoOAAMIAgsEAQUPCQcGCgAB

DwsEDAMJAg0OBwYIBQ0FBAkOCwEABgwPCgIDCAcNAwwKAAQODwUIBgIBCwcJBQMJDwoLDAQHDg0C

AQAGCAUGDwILDQgKBA4BAAcDDAkGAg8KCA4MCQcBBQ0DAAQLDgMMCwkBDQUCAA8GBAgKB8a9JmfQ

ZultcgAAADBwBDZNCLod3+5SylvAYl8T4HxiXC5P493EjwKM0i1V1LCEKxNt142tBM+DPaIGWZoc

fh9EPcwCb+IENmf1eeElrJyJJ9/qoSOS2yVjFY4J2j54dbhLSkgi/Avpkxa6lt1VlT5kwnRoThIW

VyMmV/UCMAUfUgYOIYoMiQqr1QTC/LrhQ0KoOk2WEBClrANuM2LzPDfYSQYDngU+G8ou9mbSp05y

mTFYkq3n0/h+D1uQDZUAAAAABAsAABu8CngVM5kQtdMgX6Qi4jLsoMFaUwLfkkXU1o55ZV7JiyOw

f1SQdp4xaYonmxaJXiQBbvWoMsHfZIhtkHcHTroKR+SRuT4iORQMJ4M/66wkjrISwunbPBwmAk73

yBWAzfev17laDETqfqDK62xp9PgI+4WVtMV5pbIM8iYTblkpioy28WYhzzL2ITJwwoQgtZw+915z

PWX2IwnqSbq8TnzsUlQhxm5ZNIgI5eHwk4XIiHzaPd7hxoSXSAPFwybXnysQWHrDuNM+TtowaQ7Q

3onAPSqexqJjB+6RnEpKkQyyBT0pZ4a+FfbZ4OuWxVXsLTxSkWPZxkvZuJ3rN+gQN92GisT+wvwX

D/U2yvg6/q7jh7BmDdfaLI1eQlVcbjO3cXT9v2v7QmBbhvID12jGP2P3PT/BwUyzQQjBSuZXcpb9

w8J/ZdqL2S8GW16CsPAqq7Vu24ejfRa60wfMLWGsRZ9e0AKMNCBeTxDpaT/Atye1E1NiGKhjPGUJ

FlAVVgnqPsHwxVuPo2PRPys2Mzz6vPQkR/rIyaSWZbSY6jeRlbY/EGi72PELwACEjsQ2smeqrqN9

np1wswtZupOWazKP4GfSTMhR/vQd10FfPAKB5ggcY826bUPsPqWOtZ7PdMJCaItqTsywHRphwbPu

y2VeWunrb7jsyZvEeHkP1swe3hY/JajIuhnne6V4I7W6S6O/m/0JigLPhISth4wHxl47wwQE6cTw

2dJmrtAKxnGAN1AJxUHyiMKmwSR5MwVAqMffB8k56G+zcvfJDqY7t62IUaVrxLv8juEN5+k6ypY1

NnNoLJNVNZ1rSUturt9WiJTAlYARkX3lzQq94azUsv9N2kLPS0r9jSd9eBbhP51frA==

--nKL74aFLyX=_quTCo1fSXn7ExWmSEcWQKL—

 

 

 

Приложение 2

ПРИМЕР ФАЙЛА ДОКУМЕНТА НАЛОГОВОЙ ОТЧЕТНОСТИ

Имя файла:

26580000000126J020010610000134052008.XML

 

Содержание файла:

<?xml version=

"1.0" encoding="windows-1251"?>

<DECLAR xmlns:xsi=

"http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation=

"J0200106.XSD">

<DECLARHEAD>

<TIN>00000126</TIN>

<C_DOC>J02</C_DOC>

<C_DOC_SUB>001</C_DOC_SUB>

<C_DOC_VER>6</C_DOC_VER>

<C_DOC_TYPE>0</C_DOC_TYPE>

<C_DOC_CNT>134</C_DOC_CNT>

<C_REG>26</C_REG>

<C_RAJ>58</C_RAJ>

<PERIOD_MONTH>5</PERIOD_MONTH>

<PERIOD_TYPE>1</PERIOD_TYPE>

<PERIOD_YEAR>2008</PERIOD_YEAR>

<C_DOC_STAN>1</C_DOC_STAN>

<D_FILL>03042008</D_FILL>

<SOFTWARE/>

</DECLARHEAD>

<DECLARBODY>

<HZ>1</HZ>

<HZY>2008</HZY>

<HZM>05</HZM>

<HZYP xsi:nil

"true"></HZYP>

<HNAME> Закрите акц_онерне товариство "Нагляд"

<HTINJ>00000126</HTINJ>

<HDDGVSD xsi:nil=

"true"></HDDGVSD>

<HNDGVSD xsi:nil=

"true"></HNDGVSD>

<HNPDV>236476834278</HNPDV>

<HNSPDV>3266664-ГГ

<HLOC>12345, м.М.КИЇВ, Перемоги, б.32

<HZIP>12345</HZIP>

<HTEL>678876</HTEL>

<HFAX xsi:nil="true"></HFAX>

<HEMAIL>deklarenko@ podatok.kiev.ua</HEMAIL>

<HSTI>ДП_ У СОЛОМ'ЯНСЬКОМУ Р-Н_ М.КИЄВА

<R10GA>150</R10GA>

<R10GB>30</R10GB>

<R21GA xsi:nil="true"></R21GA>

<R22GA xsi:nil="true"></R22GA>

<R30GA xsi:nil="true"></R30GA>

<R40GA xsi:nil="true"></R40GA>

<R50GA>150</R50GA>

<R52GA>150</R52GA>

<R52GB xsi:nil="true"></R52GB>

<R60GA xsi:nil="true"></R60GA>

<R60GB>0</R60GB>

<R60GAD xsi:nil="true"></R60GAD>

<R70GA xsi:nil="true"></R70GA>

<R70GB>0</R70GB>

<R82GB>0</R82GB>

<R83GA xsi:nil="true"></R83GA>

<R83GB>0</R83GB>

<R90GB>30</R90GB>

<R101GB>0</R101GB>

<R102GA xsi:nil="true"></R102GA>

<R110GA>0</R110GA>

<R121GB>0</R121GB>

<R122GA xsi:nil="true"></R122GA>

<R122GB>0</R122GB>

<R123GA xsi:nil="true"></R123GA>

<R124GA xsi:nil="true"></R124GA>

<R124GB>0</R124GB>

<R125GA xsi:nil="true"></R125GA>

<R125GB>0</R125GB>

<R162GA xsi:nil="true"></R162GA>

<R162GB>0</R162GB>

<R163GB xsi:nil="true"></R163GB>

<R170GB>0</R170GB>

<R181GB>30</R181GB>

<R182GB>0</R182GB>

<R200GB>30</R200GB>

<R210GB>0</R210GB>

<R222GB>0</R222GB>

<R230GB>0</R230GB>

<R240GB>0</R240GB>

<R260GB>0</R260GB>

<R270GB>30</R270GB>

<R20G16S xsi:nil="true"></R20G16S>

<HFILL>03042008</HFILL>

<HBOS> Петров Петро Петрович

<HBUH>Ваніліна Олена Петрівна

<HFO xsi:nil="true"></HFO>

</DECLARBODY>

<!-— YOUR_ID="58762" —>

</DECLAR>

 

 

Приложение 3

СПЕЦИФИКАЦИЯ КРИПТОГРАФИЧЕСКИХ ФУНКЦИЙ

1. Введение

В документе дается описание унифицированной библиотеки функций, предназначенных для криптографических преобразований информации. Библиотека предназначена для применения при разработке программного обеспечения в любой среде разработки (Microsoft Visual C++, Visual Basic, C#, CodeGear RAD Studio и т. п.).

2. Общие требования

1. Работа в среде Microsoft Windows 98/2000/XP/Vista/7, Linux (RadHat, Suse).

2. Многопоточность.

3. Библиотека должна поставляться для платформ х86 и х64.

4. Передача параметров по соглашению __stdcall.

5. Память под блоки с результатом работы функций выделяется вызывающей стороной.

3. Поставка библиотеки

Библиотека поставляется в виде dll для Windows сред и so для Linux сред. Имя dll и so: Crypt_XXX.dll и Crypt_XXX.so, где XXX — имя поставщика библиотеки.

Доступ к функциям dll и so выполняется функцией GetProcAddress.

Библиотеки поставляются вместе с заглавными файлами с расширением (*.h), содержащими исчерпывающее описание функций библиотеки.

1. Функция наложения подписи

int __stdcall MakeSign (const void* pkbuf, int pklen, const char* pwd,

const void* hashbuf, void* signbuf, int* signlen);

 

Параметр

Описание

const void* pkbuf

Буфер с секретным ключом

int pklen

Размер буфера с секретным ключом

const char* pwd

Пароль секретного ключа, должен заканчиваться символом '\0'

const void* hashbuf

Буфер с хешем документа, размер 32 байта

void* signbuf

Буфер для подписи, если NULL — в signlen возвращается размер

int* signlen

Размер подписи в буфере

 

Функция возвращает 0 при успешном выполнении, или код ошибки.

 

2. Функция проверки подписи

int __stdcall VerifySign (const void* certbuf, int certlen, const void* hashbuf, const void* signbuf, int signlen);

 

Параметр

Описание

const void* certbuf

Буфер с сертификатом

int certlen

Размер буфера с сертификатом

const void* hashbuf

Буфер с хешем документа, размер 32 байта

const void* signbuf

Буфер с подписью

int signlen

Размер буфера с подписью

 

Функция возвращает 0, если подпись верна, или код ошибки.

 

3. Функция проверки сертификата

int __stdcall VerifyCert (const void* certbuf, int certlen, const void* rootcbuf, int rootclen);

 

Параметр

Описание

1

2

const void* certbuf

Буфер с сертификатом

int certlen

Размер буфера с сертификатом

const void* rootcbuf

Буфер с корневым сертификатом

int rootclen

Размер буфера с корневым сертификатом

 

Функция возвращает 0, если сертификат соответствует корневому, или код ошибки.

 

4. Функция шифровки блока данных

int __stdcall Encrypt (const void* certbuf, int certlen, const void* docbuf, int doclen, void* outbuf, int* outlen);

 

Параметр

Описание

const void* certbuf

Буфер с сертификатом

int certlen

Размер буфера с сертификатом

const void* pkbuf

Буфер с секретным ключом

int pklen

Длина буфера с секретным ключом

const char* pwd

Пароль секретного ключа должен заканчиваться символом '\0'

const void* docbuf

Буфер с документом

int doclen

Размер буфера с документом

void* outbuf

Исходный буфер, если NULL — в outlen возвращается размер

int* outlen

Размер исходного буфера

 

Функция возвращает 0 при успешной зашифровке, или код ошибки.

 

5. Функция расшифровки блока данных

int __stdcall Decrypt (const void* pkbuf, int pklen, const char* pwd, const void* docbuf, int doclen, void* outbuf, int* outlen);

 

Параметр

Описание

const void* pkbuf

Буфер с секретным ключом

int pklen

Длина буфера с секретным ключом

const char* pwd

Пароль секретного ключа должен заканчиваться символом '\0'

const void* certbuf

Буфер с сертификатом

int certlen

Размер буфера с сертификатом

const void* docbuf

Буфер с документом

int docsize

Размер буфера с документом

void* outbuf

Исходный буфер, если NULL — в outlen возвращается размер

Int* outlen

Размер исходного буфера

 

Функция возвращает 0 при успешном выполнении, или код ошибки.

 

6. Функция сверки сертификата с секретным ключом

int __stdcall VerifyCertPKMatch (const void* certbuf, int certlen, const void* pkbuf, int pklen);

 

Параметр

Описание

1

2

const void* certbuf

Буфер с сертификатом

int certlen

Размер буфера с сертификатом

const void* pkbuf

Буфер с секретным ключом

int pklen

Размер буфера с секретным ключом

const char* pwd

Пароль секретного ключа должен заканчиваться символом '\0'

 

Функция возвращает 0, если сертификат и секретный ключ являются соответствующими, или код ошибки.

 

7. Функция получения информации из сертификата

int __stdcall GetCertInfo (const void* certbuf, int certlen, UACertInfo* info);

 

Параметр

Описание

const void* certbuf

Буфер с сертификатом

int certlen

Длина буфера с сертификатом

UACertInfo* info

Структура с информацией из сертификата (приведена ниже)

 

Функция возвращает 0, когда успешно выполнено, или код ошибки.

 

Структура UACertInfo

 

Поле

Описание

char Serial[64]

Серийный номер сертификата

char EDRPOU[11]

ЕГРПОУ учреждения

char DRFO[11]

ГРФЛ лица

char Name[64]

ФИО лица или наименование учреждения

char Email[64]

E-mail

char Title[64]

Должность

char PostalCode[7]

Почтовый индекс

char Obl[64]

Область

char Rayon[64]

Район

char Adres[64]

Адрес

char Tel[64];

Телефон

time_t DtBeg

Дата начала действия сертификата

time_t DtEnd

Дата окончания действия сертификата

 

Выравнивание членов структуры — 1 байт.

Размер каждого строчного поля содержит завершающий 0-символ.

 

4. Коды ошибок

#define CRYPT_OK 0

// Успешно

#define CRYPT_BUFFER_EMPTY 1

// Буфер пуст

#define CRYPT_DLL_NOT_LOADED 2

// DLL не инициализирован

#define CRYPT_BAD_CERT 3

// Ошибка получения информации из сертификата

#define CRYPT_CERT_NOT_ALLOWED 4

// Данный сертификат не может

использоваться для выполнения операции

#define CRYPT_SK_NOT_MATCH 5

// Не совпадает пара сертификат — секретный ключ

#define CRYPT_SK_CORRUPT 7

// Некорректный формат секретного ключа

#define CRYPT_BAD_PASSWORD 8

// Ошибка подписи/шифрования,

возможно, указан неверный пароль

#define CRYPT_BAD_SIGN 11

// Неверная подпись

#define CRYPT_INTERNAL_ERR 12

// Внутренняя ошибка проверки подписи

#define CRYPT_BAD_CRC 13

// Ошибка проверки целостности: буфер поврежден

#define CRYPT_NOT_SUPPORTED 14 // Функция не поддерживается

Теги налоги
App
Скачайте наше мобильное приложение Factor

© Factor.Media, 1995 -
Все права защищены

Использование материалов без согласования с редакцией запрещено

Ознакомиться с договором-офертой

Присоединяйтесь
Адрес
г. Харьков, 61002, ул. Сумская, 106а
Мы принимаем
ic-privat ic-visa ic-visa

Мы используем cookie-файлы, чтобы сделать сайт максимально удобным для вас и анализировать использование наших продуктов и услуг, чтобы увеличить качество рекламных и маркетинговых активностей. Узнать больше о том, как мы используем эти файлы можно здесь.

Спасибо, что читаете нас Войдите и читайте дальше