Skip to content

Электронная подпись клиент

ИспользоватьЭлектронныеПодписи

Описание, пример вызова
// Возвращает текущую настройку использования электронных подписей.
//
// Возвращаемое значение:
// Булево - если Истина, электронные подписи используются.
//
Функция ИспользоватьЭлектронныеПодписи() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ИспользоватьЭлектронныеПодписи()

ИспользоватьШифрование

Описание, пример вызова
// Возвращает текущую настройку использования шифрования.
//
// Возвращаемое значение:
// Булево - если Истина, шифрование используется.
//
Функция ИспользоватьШифрование() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ИспользоватьШифрование()

ПроверятьЭлектронныеПодписиНаСервере

Описание, пример вызова
// Возвращает текущую настройку проверки электронных подписей на сервере.
//
// Возвращаемое значение:
// Булево - если Истина, электронные подписи будут проверяться на сервере.
//
Функция ПроверятьЭлектронныеПодписиНаСервере() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПроверятьЭлектронныеПодписиНаСервере()

СоздаватьЭлектронныеПодписиНаСервере

Описание, пример вызова
// Возвращает текущую настройку создания электронных подписей на сервере.
// Настройка также предполагает шифрование и расшифровку на сервере.
//
// Возвращаемое значение:
// Булево - если Истина, электронные подписи будут создаваться на сервере.
//
Функция СоздаватьЭлектронныеПодписиНаСервере() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.СоздаватьЭлектронныеПодписиНаСервере()

Подписать

Описание, пример вызова
// Подписывает данные, возвращает подпись и добавляет подпись в объект, если указано.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
// свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения.
// Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры.
// При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного
// выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.
//
// Параметры:
// ОписаниеДанных - Структура:
// * Операция - Строка - заголовок формы подписания данных, например Подписание файла.
// * ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение о успешном
// завершении операции для представления данных, указанного рядом с заголовком.
// * ПоказатьКомментарий - Булево - (необязательный) - разрешает ввод комментария в форме
// подписания данных. Если не указан, значит Ложь.
// * ОтборСертификатов - Массив - (необязательный) - содержит ссылки на элементы справочника.
// СертификатыЭлектроннойПодписиИШифрования, которые могут быть выбраны
// пользователем. Отбор блокирует возможность выбора других сертификатов
// из личного хранилища.
// - Структура:
// * Организация - ОпределяемыйТип.Организация - содержит ссылку на организацию,
// по которой будет установлен отбор в списке сертификатов пользователя.
// * БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя, если
// в свойстве ОтборСертификатов только один сертификат и:
// а) либо для сертификата указано "Вводить пароль в программе электронной подписи";
// б) либо пользователь запомнил пароль к сертификату на время сеанса;
// в) либо пароль установлен ранее методом УстановитьПарольСертификата.
// Если в процессе подписания возникла ошибка, тогда будет открыта форма
// с возможностью указать пароль. Параметр ПоказатьКомментарий игнорируется.
// * ПередВыполнением - ОписаниеОповещения - (необязательный) - описание обработчика дополнительной
// подготовки данных после выбора сертификата, которым будут подписаны данные.
// В этом обработчике можно заполнить параметр Данные, если он зависит
// от сертификата, который в момент вызова уже вставлен в ОписаниеДанных
// как ВыбранныйСертификат (смотри ниже).
// Также можно переопределить параметр ВыбраннаяДоверенность в ОписаниеДанных.
// Следует учесть общий подход (смотри выше).
// * ВыполнятьНаСервере - Неопределено
// - Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * ПараметрыДополнительныхДействий - Произвольный - (необязательный) - если указан, то передается
// на сервер в процедуру ПередНачаломОперации общего модуля
// ЭлектроннаяПодписьПереопределяемый как ВходныеПараметры.
// * КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет
// установлено определенное значение произвольного типа, которое позволяет
// выполнить действие с тем же сертификатом повторно (у пользователя
// не запрашивается ни пароль, ни подтверждение действия).
// В случае ошибки после вызова процедуры, повторное действие, выполненное
// с полученным контекстом, может быть также ошибочно.
// - Произвольный - (необязательный) - если определено, то действие будет выполнено
// с тем же сертификатом без запроса пароля или подтверждения.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, ПоказатьКомментарий, ОтборСертификатов
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
// Параметр ПараметрыДополнительныхДействий игнорируется.
// Процедура ПередНачаломОперации не вызывается.
// Если передать контекст, возвращенный процедурой Расшифровать, тогда
// пароль, введенный для сертификата, может быть использован, как если бы
// пароль был сохранен на время сеанса. В остальном контекст игнорируется.
// * ПрекратитьВыполнение - Произвольный - если свойство существует и в процессе асинхронного выполнения возникает
// ошибка, выполнение прекращается без отображения формы операции или с закрытием этой формы,
// если она была открыта.
//
// Вариант 1.
// * Данные - ДвоичныеДанные - данные для подписания.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - ОписаниеОповещения - обработчик получения данных, который возвращает
// их в свойстве Данные (смотри выше общий подход). В момент вызова
// в ОписаниеДанных уже вставлен параметр ВыбранныйСертификат (смотри ниже).
// - Структура:
// * КонвертXML - см. ЭлектроннаяПодписьКлиент.КонвертXML
// * ПараметрыXMLDSig - см. ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig
// - Структура:
// * ПараметрыCMS - см. ЭлектроннаяПодписьКлиент.ПараметрыCMS
// * Данные - Строка - произвольная строка для подписания,
// - ДвоичныеДанные - двоичные данные для подписания.
// * Объект - ЛюбаяСсылка - (необязательный) - ссылка на объект , к которому нужно добавить подпись.
// Если не указан, то подпись не требуется добавлять.
// - ОписаниеОповещения - (необязательный) - обработчик добавления подписи в
// регистр сведений ЭлектронныеПодписи. Следует учесть общий подход (смотри выше).
// В момент вызова в ОписаниеДанных уже вставлен параметр СвойстваПодписи.
// В случае параметра НаборДанных, в ОписаниеДанных вставляется
// свойство ТекущийЭлементНабораДанных, содержащее параметр СвойстваПодписи.
// * ВерсияОбъекта - Строка - (необязательный) - версия данных объекта для проверки и
// блокировки объекта перед добавлением подписи.
// * Представление - ЛюбаяСсылка - (необязательный), если параметр не указан,
// тогда представление вычисляется по значению свойства Объект.
// - Строка
// - Структура:
// ** Значение - ЛюбаяСсылка
// - ОписаниеОповещения - для открытия.
// ** Представление - Строка - представление значения.
// Вариант 2.
// * НаборДанных - Массив - структуры со свойствами, описанными в Варианте 1.
// * ПредставлениеНабора - Строка - представления нескольких элементов набора данных, например, "Файлы (%1)".
// В это представление в параметр %1 заполняется количество элементов.
// По гиперссылке можно открыть список.
// Если в наборе данных 1 элемент, тогда используется значение
// в свойстве Представление свойства НаборДанных, если не указано, тогда
// представление вычисляется по значению свойства Объект элемента набора данных.
// * СписокПредставлений - СписокЗначений
// - Массив - (необязательный) - произвольный список элементов
// или массив со значениями, как у свойства Представление, которые
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств Представление или Объект в свойстве НаборДанных.
//
// Форма - ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор,
// который будет использоваться при блокировке объекта.
// - УникальныйИдентификатор - уникальный идентификатор, который будет
// использоваться при блокировке объекта.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения -
// Требуется для нестандартной обработки результата, например, если не указан параметр Объект и/или Форма.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// # Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства СвойстваПодписи. Если есть, то шаг выполнен.
// # Отказ - Булево - Истина, если пользователь отменил операцию интерактивно.
// # ПользовательНажалКнопкуПодписать - Булево - если Истина, то пользователь хотя бы раз
// нажал на кнопку Подписать. Используется для сценариев, когда для продолжения бизнес-процесса
// достаточно простой подписи (намерения установить подпись), а установка квалифицированной подписи
// является дополнением, которое можно реализовать позднее, если возникли технические проблемы.
// # ВыбранныйСертификат - Структура - содержит свойства сертификата:
// ## Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат.
// ## Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ## Данные - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.
// # ВыбраннаяДоверенность - ЛюбаяСсылка
// # СвойстваПодписи = Строка - адрес временного хранилища, содержащего описанную ниже структуру,
// если подписание произошло на сервере.
// = Структура:
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии
// * СрокДействияПоследнейМеткиВремени - Дата, Неопределено - заполняется только с помощью
// менеджера криптографии.
// * ДатаПодписиИзМетки - Дата, Неопределено - самый ранний штамп времени
// * НеподтвержденнаяДатаПодписи - Дата - неподтвержденная дата подписи.
// * Сертификат - ДвоичныеДанные - сертификат для проверки подписи.
// * Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// * КомуВыданСертификат - Строка - представление субъекта, полученное из двоичных данных сертификата.
// При передаче параметра НаборДанных, свойство нужно проверять в нем.
//
// ПараметрыПодписи - см. НовыйТипПодписи
//
Процедура Подписать(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено, ПараметрыПодписи = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Форма, ОбработкаРезультата, ПараметрыПодписи);

НовыйТипПодписи

Описание, пример вызова
// Конструктор параметра ТипПодписи для процедуры Подписать.
// Игнорируется для подписи конверта XML.
//
// Параметры:
// ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии
//
// Возвращаемое значение:
// Структура:
// * ТипыПодписи - Массив - массив типов подписей для выбора.
// * Видимость - Булево - видимость типа подписи на форме подписания.
// * Доступность - Булево - доступность типа подписи на форме подписания.
// * ВыборДоверенности - Булево - показывать поле выбора доверенности.
// * ПроверятьСертификат - Строка - режим проверки квалифицированности ЭП:
// "ПроверятьКвалифицированные" - (по умолчанию) разрешать подписывать НЭП и проверять КЭП на действительность
// с учетом списка разрешенных неаккредитованных УЦ.
// "ТолькоКвалифицированные" - разрешать подписывать только КЭП и не учитывать список разрешенных
// неаккредитованных УЦ.
// "НеПроверятьСертификат" - не выполнять проверку сертификата.
//
Функция НовыйТипПодписи(ТипПодписи = Неопределено) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.НовыйТипПодписи(ТипПодписи);

ДобавитьПодписьИзФайла

Описание, пример вызова
// Предлагает пользователю выбрать файлы подписей для добавления к объекту и добавляет их.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
// свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения.
// Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры.
// При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного
// выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.
//
// Параметры:
// ОписаниеДанных - Структура:
// * ЗаголовокДанных - Строка - заголовок элемента данных, например Файл.
// * ПоказатьКомментарий - Булево - (необязательный) - разрешает ввод комментария в форме
// добавления подписей. Если не указан, значит Ложь.
// * Объект - ЛюбаяСсылка - (необязательный) - ссылка на объект , к которому нужно добавить подпись.
// - ОписаниеОповещения - (необязательный) - обработчик добавления подписи в
// регистр сведений ЭлектронныеПодписи. Следует учесть общий подход (смотри выше).
// В момент вызова в ОписаниеДанных уже вставлен параметр Подписи.
// * ВерсияОбъекта - Строка - (необязательный) - версия данных объекта для проверки и
// блокировки объекта перед добавлением подписи.
// * Представление - ЛюбаяСсылка
// - Строка - (необязательный), если не указан, тогда
// представление вычисляется по значению свойства Объект.
// * Данные - ДвоичныеДанные - (необязательный) - данные для проверки подписи.
// - Строка - (необязательный) - адрес временного хранилища, содержащего двоичные данные.
// - ОписаниеОповещения - (необязательный) - обработчик получения данных, который
// возвращает их в свойстве Данные (смотри выше общий подход).
//
// Форма - ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор,
// который будет использоваться при блокировке объекта.
// - УникальныйИдентификатор - уникальный идентификаторы, который будет
// использоваться при блокировке объекта.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения -
// Требуется для нестандартной обработки результата - например, если не указан параметр Объект и/или Форма.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// # Успех - Булево - Истина, если все прошло успешно.
// # Отказ - Булево - Истина, если пользователь отменил операцию интерактивно.
// # Подписи - Массив - который содержит элементы:
// ## СвойстваПодписи = Строка - адрес временного хранилища, содержащего описанную ниже структуру.
// = Структура - развернутое описание подписи
// ### Подпись - ДвоичныеДанные - результат подписания.
// ### УстановившийПодпись - СправочникСсылка.Пользователи - пользователь, который
// подписал объект информационной базы.
// ### Комментарий - Строка - комментарий, если он был введен при подписании.
// ### ИмяФайлаПодписи - Строка - имя файла, из которого добавлена подпись.
// ### ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случаев,
// когда дату невозможно извлечь из данных подписи. Если не
// указана или пустая, тогда используется текущая дата сеанса.
// ### ДатаПроверкиПодписи - Дата - дата проверки подписи после добавления из файла, если
// не указано свойство Данные в параметре ОписаниеДанных,
// возвращает пустую дату.
// ### ПодписьВерна - Булево - результат проверки подписи после добавления из файла, если
// не указано свойство Данные в параметре ОписаниеДанных,
// возвращает Ложь.
//
// Производные свойства:
// ### Сертификат - ДвоичныеДанные - содержит выгрузку сертификата,
// который использовался для подписания (содержится в подписи).
// ### Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ### КомуВыданСертификат - Строка - представление субъекта, полученное из двоичных данных сертификата.
//
Процедура ДобавитьПодписьИзФайла(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ДобавитьПодписьИзФайла(ОписаниеДанных, Форма, ОбработкаРезультата);

СохранитьДанныеВместеСПодписью

Описание, пример вызова
// Предлагает пользователю выбрать подписи для сохранения вместе с данными объекта.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
// свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения.
// Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры.
// При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного
// выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.
//
// Параметры:
// ОписаниеДанных - Структура:
// * ЗаголовокДанных - Строка - заголовок элемента данных, например Файл.
// * ПоказатьКомментарий - Булево - (необязательный) - разрешает ввод комментария в форме
// добавления подписей. Если не указан, значит Ложь.
// * Представление - ЛюбаяСсылка
// - Строка - (необязательный), если не указан, тогда
// представление вычисляется по значению свойства Объект.
// * Объект - ЛюбаяСсылка - ссылка на объект, из которого нужно получить список подписей.
// - Строка - адрес временного хранилища массива подписей с составом свойств,
// как возвращает процедура ДобавитьПодписьИзФайла.
// * Данные - ОписаниеОповещения - обработчик сохранения данных и получения полного имени
// файла с путем (после его сохранения), возвращаемое в свойстве ПолноеИмяФайла
// типа Строка для сохранения электронных подписей (смотри выше общий подход).
// Если расширение для работы с 1С:Предприятием не подключено, то нужно вернуть
// имя файла без пути.
// Если свойство не будет вставлено или заполнено - это считается отказом
// от продолжения и будет вызвана ОбработкаРезультата с результатом Ложь.
//
// Для пакетного запроса разрешений у пользователя веб-клиента на сохранение файла данных
// и подписей нужно вставить параметр ОбработкаЗапросаРазрешений типа ОписаниеОповещения.
// В процедуру будет передана Структура со свойствами
// # Вызовы - Массив - с описанием вызовов для сохранения подписей.
// # ОбработкаПродолжения - ОписаниеОповещения - оповещение, которое нужно выполнить
// после запроса разрешений, - параметры процедуры как у
// оповещения для метода НачатьЗапросРазрешенияПользователя.
// Если разрешение не получено, значит, все отменено.
//
// ОбработкаРезультата - ОписаниеОповещения -
// В результат передается параметр типа Булево - Истина, если все прошло успешно.
//
Процедура СохранитьДанныеВместеСПодписью(ОписаниеДанных, ОбработкаРезультата = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.СохранитьДанныеВместеСПодписью(ОписаниеДанных, ОбработкаРезультата);

ПроверитьПодпись

Описание, пример вызова
// Проверяет действительность подписи и сертификата.
// Сертификат всегда проверяется на сервере, если администратор
// настроил проверку электронных подписей на сервере.
//
// Параметры:
// Оповещение - ОписаниеОповещения - оповещение о результате выполнения следующих типов:
// = Булево - Истина, если проверка выполнена успешно - если ПараметрыПроверки - Неопределено
// = Строка - описание ошибки проверки подписи.
// = Неопределено - не удалось получить менеджер криптографии (когда не указан).
// = см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи - если
// ПараметрыПроверки.РезультатВВидеСтруктуры - Истина.
// ИсходныеДанные - ДвоичныеДанные - двоичные данные, которые были подписаны.
// Математическая проверка выполняется на стороне клиента, даже когда
// администратор настроил проверку электронных подписей на сервере,
// если указан менеджер криптографии или его удалось получить без ошибки.
// Это повышает производительность, а также безопасность, когда проверяется подпись
// в расшифрованном файле (он не будет передан на сервер).
// - Строка - адрес временного хранилища, содержащего исходные двоичные данные.
// - Структура:
// * КонвертXML - Строка - подписанный КонвертXML,
// смотри также функцию КонвертXML.
// * ПараметрыXMLDSig - см. ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig
// - Структура:
// * ПараметрыCMS - см. ЭлектроннаяПодписьКлиент.ПараметрыCMS
// * Данные - Строка - произвольная строка для подписания,
// - ДвоичныеДанные - двоичные данные для подписания.
// Подпись - ДвоичныеДанные - двоичные данные электронной подписи.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - Неопределено - если ИсходныеДанные - конверт SOAP.
// МенеджерКриптографии - Неопределено - получить менеджер криптографии по умолчанию
// (менеджер первой программы в списке, как настроил администратор).
// - МенеджерКриптографии - использовать указанный менеджер криптографии.
// НаДату - Дата - проверить сертификат на указанную дату,
// если дату не удалось извлечь из подписи или если проверяется КонвертXML.
// Если параметр не заполнен, тогда проверять на текущую дату сеанса,
// если дату не удалось извлечь из подписи или если проверяется КонвертXML.
// ПараметрыПроверки - см. ПараметрыПроверкиПодписи
// - Неопределено - показать ошибку создания менеджера криптографии (когда не указан).
//
Процедура ПроверитьПодпись(Оповещение, ИсходныеДанные, Подпись, Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ПроверитьПодпись(Оповещение, ИсходныеДанные, Подпись, );

ПараметрыПроверкиПодписи

Описание, пример вызова
// Конструктор параметра "ПараметрыПроверки" для процедуры "ПроверитьПодпись".
//
// Возвращаемое значение:
// Структура:
// * ПоказатьОшибкуСозданияМенеджераКриптографии - Булево - показать ошибку
// создания менеджера криптографии (когда не указан).
// * РезультатВВидеСтруктуры - Булево - если Истина, результат будет в виде
// см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи
// * ПроверятьСертификат - Строка - режим проверки квалифицированности ЭП, применяется, если РезультатВВидеСтруктуры =
// Истина иначе проверка работает в режиме "ПроверятьКвалифицированные".
// "ПроверятьКвалифицированные" - (по умолчанию) разрешать подписывать НЭП и проверять КЭП на действительность
// с учетом списка разрешенных неаккредитованных УЦ.
// "ТолькоКвалифицированные" - разрешать подписывать только КЭП и не учитывать список разрешенных
// неаккредитованных УЦ.
// "НеПроверятьСертификат" - не выполнять проверку сертификата подписи.
//
Функция ПараметрыПроверкиПодписи() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыПроверкиПодписи()

Зашифровать

Описание, пример вызова
// Шифрует данные, возвращает сертификаты шифрования и добавляет их в объект, если указано.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
// свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения.
// Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры.
// При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного
// выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.
//
// Параметры:
// ОписаниеДанных - Структура:
// * Операция - Строка - заголовок формы шифрования данных, например Шифрование файла.
// * ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение об успешном
// завершении операции для представления данных, указанного рядом с заголовком.
// * НаборСертификатов - Строка - (необязательный) адрес временного хранилища, содержащего массив, описанный ниже.
// - Массив - (необязательный) содержит значения
// типа СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования или
// типа ДвоичныеДанные (выгрузка сертификата).
// - ЛюбаяСсылка - (необязательный) - ссылка на объект, для которого необходимо получить сертификаты.
// * ИзменятьНабор - Булево - если Истина и НаборСертификатов задан и содержит только ссылки
// на сертификаты, тогда будет возможность изменить состав сертификатов.
// * БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя,
// если указано свойство ОтборСертификатов.
// * ВыполнятьНаСервере - Неопределено
// - Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет
// установлено определенное значение произвольного типа, которое позволяет
// выполнить действие с теми же сертификатами шифрования повторно (у пользователя
// не запрашивается подтверждение действия).
// - Произвольный - (необязательный) - если определено, то действие будет выполнено
// с теми же сертификатами шифрования.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, НаборСертификатов, ИзменятьНабор
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
// * ПрекратитьВыполнение - Произвольный - если свойство существует и в процессе асинхронного выполнения возникает
// ошибка, выполнение прекращается без отображения формы операции или с закрытием этой формы,
// если она была открыта.
// * АлгоритмШифрования - Строка - (необязательный) - содержит явное название ("Магма", "Кузнечик", "ГОСТ 28147-89"),
// OID или представление алгоритма шифрования,которым будет переопределен алгоритм шифрования
// по умолчанию. Например, если передается представление "Магма", то это наименование будет
// преобразовано в название алгоритма шифрования той программы, которой выполняется шифрование.
//
// Вариант 1.
// * Данные - ДвоичныеДанные - данные для шифрования.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - ОписаниеОповещения - обработчик получения данных, который возвращает
// их в свойстве Данные (смотри выше общий подход).
// * РазмещениеРезультата - Неопределено - (необязательный) - описывает куда поместить зашифрованные данные.
// Если не указан или Неопределено, тогда через параметр ОбработкаРезультата.
// - ОписаниеОповещения - обработчик сохранения зашифрованных данных.
// Следует учесть общий подход (смотри выше).
// В момент вызова в ОписаниеДанных уже вставлен параметр ЗашифрованныеДанные.
// В случае параметра НаборДанных, в ОписаниеДанных вставляется
// свойство ТекущийЭлементНабораДанных, содержащее параметр ЗашифрованныеДанные.
// * Объект - ЛюбаяСсылка - (необязательный) - ссылка на объект, который необходимо зашифровать.
// Если не указан, то сертификаты шифрования не требуется добавлять.
// * ВерсияОбъекта - Строка - (необязательный) - версия данных объекта для проверки и
// блокировки объекта перед добавлением сертификатов шифрования.
// * Представление - ЛюбаяСсылка - (необязательный), если параметр не указан,
// тогда представление вычисляется по значению свойства Объект.
// - Строка
// - Структура:
// ** Значение - ЛюбаяСсылка
// - ОписаниеОповещения - для открытия.
// ** Представление - Строка - представление значения.
//
// Вариант 2.
// * НаборДанных - Массив - структуры со свойствами, описанными в Варианте 1.
// * ПредставлениеНабора - Строка - представления нескольких элементов набора данных, например, "Файлы (%1)".
// В это представление в параметр %1 заполняется количество элементов.
// По гиперссылке можно открыть список.
// Если в наборе данных 1 элемент, тогда используется значение
// в свойстве Представление свойства НаборДанных, если не указано, тогда
// представление вычисляется по значению свойства Объект элемента набора данных.
// * СписокПредставлений - СписокЗначений
// - Массив - (необязательный) - произвольный список элементов
// или массив со значениями, как у свойства Представление, которые
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств Представление или Объект в свойстве НаборДанных.
//
// Форма - ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор, который будет
// использоваться при помещении зашифрованных данных во временное хранилище.
// - УникальныйИдентификатор - уникальный идентификатор, который будет
// использоваться при помещении зашифрованных данных во временное хранилище.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения -
// Требуется для нестандартной обработки результата, если не указан параметр Форма и/или РазмещениеРезультата.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// # Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства ЗашифрованныеДанные. Если есть, то шаг выполнен.
// # Отказ - Булево - Истина, если пользователь отменил операцию интерактивно.
// # СертификатыШифрования = Строка - адрес временного хранилища, содержащего массив, описанный ниже.
// = Массив - помещается перед началом шифрования и после этого не изменяется.
// ## Значение - Структура
// ### Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ### Представление - Строка - сохраненное представление субъекта,
// полученное из двоичных данных сертификата.
// ### Сертификат - ДвоичныеДанные - содержит выгрузку сертификата,
// который использовался для шифрования.
// # ЗашифрованныеДанные = ДвоичныеДанные - результат шифрования.
// При передаче параметра НаборДанных свойство нужно проверять в нем.
// = Строка - адрес временного хранилища, содержащего результат шифрования.
//
Процедура Зашифровать(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.Зашифровать(ОписаниеДанных, Форма, ОбработкаРезультата);

Расшифровать

Описание, пример вызова
// Расшифровывает данные, возвращает их и помещает в объект, если указано.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
// свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения.
// Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры.
// При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного
// выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.
//
// Параметры:
// ОписаниеДанных - Структура:
// * Операция - Строка - заголовок формы расшифровки данных, например, Расшифровка файла.
// * ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение о успешном
// завершении операции для представления данных, указанного рядом с заголовком.
// * ОтборСертификатов - Массив - (необязательный) - содержит ссылки на элементы справочника.
// СертификатыЭлектроннойПодписиИШифрования, которые могут быть выбраны
// пользователем. Отбор блокирует возможность выбора других сертификатов
// из личного хранилища.
// * БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя, если
// в свойстве ОтборСертификатов только один сертификат и:
// а) либо для сертификата указано "Вводить пароль в программе электронной подписи";
// б) либо пользователь запомнил пароль к сертификату на время сеанса;
// в) либо пароль установлен ранее методом УстановитьПарольСертификата.
// Если в процессе расшифровки возникла ошибка, тогда будет открыта форма
// с возможностью указать пароль.
// * ЭтоАутентификация - Булево - (необязательный) - если Истина, то вместо кнопки Расшифровать
// будет показана кнопка ОК. А также скорректированы некоторые надписи.
// Кроме того, параметр СообщитьОЗавершении устанавливается в Ложь.
// * ПередВыполнением - ОписаниеОповещения - (необязательный) - описание обработчика дополнительной
// подготовки данных после выбора сертификата, которым будут расшифрованы данные.
// В этом обработчике можно заполнить параметр Данные, если необходимо.
// В момент вызова в ОписаниеДанных уже вставлен выбранный сертификат,
// как ВыбранныйСертификат (смотри ниже). Следует учесть общий подход (смотри выше).
// * ВыполнятьНаСервере - Неопределено
// - Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * ПараметрыДополнительныхДействий - Произвольный - (необязательный) - если указан, то передается
// на сервер в процедуру ПередНачаломОперации общего модуля.
// ЭлектроннаяПодписьПереопределяемый, как ВходныеПараметры.
// * КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет
// установлено определенное значение произвольного типа, которое позволяет
// выполнить действие с тем же сертификатом повторно (у пользователя
// не запрашивается ни пароль, ни подтверждение действия).
// В случае ошибки после вызова процедуры, повторное действие, выполненное
// с полученным контекстом, может быть также ошибочно.
// - Произвольный - (необязательный) - если определено, то действие будет выполнено
// с тем же сертификатом без запроса пароля или подтверждения.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, ОтборСертификатов, ЭтоАутентификация
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
// Параметр ПараметрыДополнительныхДействий игнорируется.
// Процедура ПередНачаломОперации не вызывается.
// Если передать контекст, возвращенный процедурой Подписать, тогда
// пароль, введенный для сертификата, может быть использован, как если бы
// пароль был сохранен на время сеанса. В остальном контекст игнорируется.
// * ПрекратитьВыполнение - Произвольный - если свойство существует и в процессе асинхронного выполнения возникает
// ошибка, выполнение прекращается без отображения формы операции или с закрытием этой формы,
// если она была открыта.
//
// Вариант 1.
// * Данные - ДвоичныеДанные - данные для расшифровки.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - ОписаниеОповещения - обработчик получения данных, который возвращает
// их в свойстве Данные (смотри выше общий подход). В момент вызова
// в ОписаниеДанных уже вставлен параметр ВыбранныйСертификат (смотри ниже).
// * РазмещениеРезультата - Неопределено - (необязательный) - описывает, куда поместить расшифрованные данные.
// Если не указан или Неопределено, тогда через параметр ОбработкаРезультата.
// - ОписаниеОповещения - обработчик сохранения расшифрованных данных.
// Следует учесть общий подход (смотри выше).
// В момент вызова в ОписаниеДанных уже вставлен параметр РасшифрованныеДанные.
// В случае параметра НаборДанных, в ОписаниеДанных вставляется
// свойство ТекущийЭлементНабораДанных, содержащее параметр РасшифрованныеДанные.
// * Объект - ЛюбаяСсылка - (необязательный) - ссылка на объект, который необходимо расшифровать,
// а также очистить записи из регистра сведений СертификатыШифрования
// после успешного завершения расшифровки.
// Если не указан, то сертификаты не требуется получать из объекта и очищать.
// - Строка - адрес временного хранилища, содержащий
// ## Массив из Структура - массив сертификатов шифрования
// ### Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ### Представление - Строка - сохраненное представление субъекта,
// полученное из двоичных данных сертификата.
// ### Сертификат - ДвоичныеДанные - содержит выгрузку сертификата,
// который использовался для шифрования.
// * Представление - ЛюбаяСсылка - (необязательный), если параметр не указан,
// тогда представление вычисляется по значению свойства Объект.
// - Строка
// - Структура:
// ** Значение - ЛюбаяСсылка
// - ОписаниеОповещения - для открытия.
// ** Представление - Строка - представление значения.
//
// Вариант 2.
// * НаборДанных - Массив - структуры со свойствами, описанными в Варианте 1.
// * ПредставлениеНабора - Строка - представления нескольких элементов набора данных, например, "Файлы (%1)".
// В это представление в параметр %1 заполняется количество элементов.
// По гиперссылке можно открыть список.
// Если в наборе данных 1 элемент, тогда используется значение
// в свойстве Представление свойства НаборДанных, если не указано, тогда
// представление вычисляется по значению свойства Объект элемента набора данных.
// * СписокПредставлений - СписокЗначений
// - Массив - (необязательный) - произвольный список элементов
// или массив со значениями, как у свойства Представление, которые
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств Представление или Объект в свойстве НаборДанных.
// * СертификатыШифрования - Массив - (необязательный) значения, как у параметра Объект. Используется
// для извлечения списков сертификатов шифрования для элементов, указанных
// в параметре СписокПредставлений (порядок должен соответствовать).
// Когда указан, параметр Объект не используется.
//
// Форма - ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор, который будет
// использоваться при помещении расшифрованных данных во временное хранилище.
// - УникальныйИдентификатор - уникальный идентификатор, который будет использоваться
// при помещении расшифрованных данных во временное хранилище.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения -
// Требуется для нестандартной обработки результата, если не указан параметр Форма и/или РазмещениеРезультата.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае, дополняется свойствами:
// # Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства РасшифрованныеДанные. Если есть, то шаг выполнен.
// # Отказ - Булево - Истина, если пользователь отменил операцию интерактивно.
// # ВыбранныйСертификат - Структура - содержит свойства сертификата:
// ## Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат.
// ## Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ## Данные - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.
// # РасшифрованныеДанные = ДвоичныеДанные - результат расшифровки.
// При передаче параметра НаборДанных, свойство нужно проверять в нем.
// = Строка - адрес временного хранилища, содержащего результат расшифровки.
//
Процедура Расшифровать(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.Расшифровать(ОписаниеДанных, Форма, ОбработкаРезультата);

УсовершенствоватьПодпись

Описание, пример вызова
// Усовершенствует одну или несколько подписей до указанного типа.
//
// Параметры:
// ОписаниеДанных - Структура:
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии - тип подписи,
// до которого требуется усовершенствование. Если фактический ТипПодписи
// тот же или выше, тогда никаких действий произведено не будет.
// * ДобавитьАрхивнуюМеткуВремени - Булево - если указано Истина и ТипПодписи указан архивная,
// и фактический ТипПодписи архивная, тогда будет добавлена метка времени.
//
// * Подпись - ДвоичныеДанные - данные подписи.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - Структура:
// ** ПодписанныйОбъект - ЛюбаяСсылка - ссылка на объект, подписи которого нужно усовершенствовать.
// ** ПорядковыйНомер - Число - порядковый номер подписи.
// - Массив - значения указанного выше типа.
// - Неопределено - все подписи объекта.
// ** Подпись - ДвоичныеДанные - (необязательный) данные подписи, если порядковый номер
// подписи - число
// - Строка - адрес временного хранилища, содержащего двоичные данные подписи,
// если порядковый номер подписи - число.
// - Массив из ДвоичныеДанные.
// - Массив из Строка - как для строки указанной выше.
// - Массив из Структура - как структура, указанная выше.
//
// * Представление - ЛюбаяСсылка - (необязательный), если параметр не указан,
// тогда представление вычисляется по значению свойств Объект и ПорядковыйНомер.
// - Строка
// - Структура:
// ** Значение - ЛюбаяСсылка
// - ОписаниеОповещения - для открытия.
// ** Представление - Строка - представление значения.
// - СписокЗначений
// - Массив - (необязательный) - произвольный список элементов
// или массив со значениями, как у описано выше, которые
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств свойств Объект и ПорядковыйНомер.
//
// Форма - ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор,
// который будет использоваться при блокировке объекта.
// - УникальныйИдентификатор - уникальный идентификатор, который будет
// использоваться при блокировке объекта.
//
// ПрерыватьОбработкуМассиваПриОшибке - Булево - по умолчанию Истина - при ошибке обработка следующих элементов будет прервана.
// ИгнорироватьСрокДействияСертификата - Булево - по умолчанию Ложь - не проверять срок действия сертификата подписи
// перед усовершенствованием.
//
// ОбработкаРезультата - ОписаниеОповещения -
// Требуется для нестандартной обработки результата, например, если не указана ссылка на объект и порядковый номер подписи.
// Структура:
// # Успех = Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства СвойстваПодписи. Если есть, то шаг выполнен.
// # ТекстОшибки = Строка
// # СвойстваПодписей = Массив из Структура -
// ## Подпись = ДвоичныеДанные - Подпись, которую надо усовершенствовать.
// = Строка - адрес во временном хранилище.
// ## ПодписанныйОбъект - ЛюбаяСсылка - если есть.
// ## ПорядковыйНомер - Число - если есть.
// ## ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии - тип подписи,
// если подпись не удалось усовершенствовать, но удалось определить тип.
// ## СрокДействияПоследнейМеткиВремени - Дата - срок действия,
// если подпись не удалось усовершенствовать, но удалось определить срок действия.
// ## СвойстваПодписи = см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи -
// свойства усовершенствованной подписи (заполнены только изменившиеся).
// ## Ошибка = Строка - текст ошибки при попытке усовершенствования. Если произошла ошибка,
// то структура не будет содержать свойств подписи, которую не удалось усовершенствовать.
// = Строка - адрес временного хранилища, содержащего массив указанный выше.
//
Процедура УсовершенствоватьПодпись(ОписаниеДанных, Форма, ОбработкаРезультата = Неопределено, Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.УсовершенствоватьПодпись(ОписаниеДанных, Форма, ОбработкаРезультата, );

ПроверитьСертификат

Описание, пример вызова
// Проверяет действительность сертификата криптографии.
//
// Параметры:
// Оповещение - ОписаниеОповещения - оповещение о результате выполнения следующих типов
// = Булево - Истина, если проверка выполнена успешно.
// = Строка - описание ошибки проверки сертификата.
// = Неопределено - не удалось получить менеджер криптографии (когда не указан).
//
// Сертификат - СертификатКриптографии - сертификат.
// - ДвоичныеДанные - двоичные данные сертификата.
// - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.
//
// МенеджерКриптографии - Неопределено - получить менеджер криптографии автоматически.
// - МенеджерКриптографии - использовать указанный менеджер криптографии
// (проверка на сервере не будет выполнена).
//
// НаДату - Дата - проверить сертификат на указанную дату в часовом поясе информационной базы.
// Если параметр не указан или указана пустая дата,
// тогда проверять на текущую дату сеанса.
// ПараметрыПроверки - см. ПараметрыПроверкиСертификата.
//
Процедура ПроверитьСертификат(Оповещение, Сертификат, МенеджерКриптографии = Неопределено, НаДату = Неопределено, ПараметрыПроверки = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ПроверитьСертификат(Оповещение, Сертификат, МенеджерКриптографии, НаДату, ПараметрыПроверки);

ПараметрыПроверкиСертификата

Описание, пример вызова
// Дополнительные параметры проверки сертификата.
//
// Возвращаемое значение:
// Структура - дополнительные параметры проверки сертификата:
// * ВыполнятьПроверкуУдостоверяющегоЦентра - Строка - режим проверки квалифицированности ЭП:
// "ПроверятьКвалифицированные" - (по умолчанию) разрешать подписывать НЭП и проверять КЭП на действительность
// с учетом списка разрешенных неаккредитованных УЦ.
// "ТолькоКвалифицированные" - разрешать подписывать только КЭП и не учитывать список разрешенных
// неаккредитованных УЦ.
// "НеПроверятьСертификат" - не выполнять проверку удостоверяющего центра сертификата.
// * ИгнорироватьПроверкуВСпискеОтозванныхСертификатов - Булево - не проверять сертификат в списке отзыва.
// * УказанаДатаМеткиВремени - Булево - в параметре НаДату указана дата, на которую будет выполнена проверка отзыва и
// цепочки сертификатов.
//
Функция ПараметрыПроверкиСертификата() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыПроверкиСертификата()

ПроверитьСертификатСправочника

Описание, пример вызова
// Открывает форму ПроверкаСертификата и возвращает результат проверки.
//
// Параметры:
// Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - проверяемый сертификат.
//
// ДополнительныеПараметры - Неопределено - обычная проверка сертификата.
// - Структура - с необязательными свойствами:
// * ВладелецФормы - ФормаКлиентскогоПриложения - другая форма.
// * ЗаголовокФормы - Строка - если указан, тогда заменяет заголовок формы.
// * ПроверкаПриВыборе - Булево - если Истина, тогда кнопка Проверить будет называться
// "Проверить и продолжить", а кнопка Закрыть будет называться "Отмена".
// * ОбработкаРезультата - ОписаниеОповещения - вызывается сразу после проверки, в процедуру
// передается Результат.ПроверкиПройдены (смотри ниже) с начальным значением Ложь.
// В режиме ПроверкаПриВыборе, если не установить Истина,
// форма не будет закрыта после возврата из процедуры оповещения и
// будет показано предупреждение о невозможности продолжения.
// * БезПодтверждения - Булево - если установить Истина, тогда при наличии пароля
// проверка будет выполнена сразу без открытия формы.
// Если режим ПроверкаПриВыборе и установлен параметр ОбработкаРезультата, то
// форма не будет открыта, если параметр ПроверкиПройдены установлен Истина.
// * ОбработкаЗавершения - ОписаниеОповещения - вызывается при закрытии формы, в качестве результата
// передается Неопределено или значение ПроверкиПройдены (смотри ниже).
// * КонтекстОперации - Произвольный - если передать контекст, возвращенный процедурами Подписать,
// Расшифровать и т.д., пароль, введенный для сертификата, может быть использован,
// как если бы он был сохранен на время сеанса.
// При повторном вызове параметр БезПодтверждения считается равным Истина.
// * НеПоказыватьРезультаты - Булево - если параметр принимает значение Истина и параметр КонтекстОперации
// содержит контекст предыдущей операции, результаты проверки не будут показаны
// пользователю.
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии - по умолчанию тип, указанный в настройках,
// если передан КонтекстОперации, возвращенный процедурой Подписать, то тип берется из него.
// * ВыполнятьПроверкуУдостоверяющегоЦентра - см. ПараметрыПроверкиСертификата.ВыполнятьПроверкуУдостоверяющегоЦентра
// * ИгнорироватьПроверкуВСпискеОтозванныхСертификатов - см. ПараметрыПроверкиСертификата.ИгнорироватьПроверкуВСпискеОтозванныхСертификатов
// * Результат - Неопределено - проверка ни разу не выполнялась.
// - Структура - возвращаемое значение. Вставляется перед обработкой результата:
// * ПроверкиПройдены - Булево - возвращаемое значение. Устанавливается в процедуре параметра ОбработкаРезультата.
// * ПроверкиНаСервере - Неопределено - проверка не выполнялась на сервере:
// - Структура - со свойствами, как в следующем параметре.
// * ПроверкиНаКлиенте - Структура:
// * НаличиеСертификата - Булево
// - Неопределено - если Истина, тогда проверка прошла успешно,
// если Ложь - проверка прошла не успешно, если Неопределено - не выполнялась.
// Если стандартные проверки скрыты в процедуре ПриСозданииФормыПроверкаСертификата,
// общего модуля ЭлектроннаяПодписьПереопределяемый, тогда свойства нет.
// * ДанныеСертификата - Булево
// - Неопределено - так же, как указано выше.
// * НаличиеПрограммы - Булево
// - Неопределено - так же, как указано выше.
// * Подписание - Булево
// - Неопределено - так же, как указано выше.
// * ПроверкаПодписи - Булево
// - Неопределено - так же, как указано выше.
// * Шифрование - Булево
// - Неопределено - так же, как указано выше.
// * Расшифровка - Булево
// - Неопределено - так же, как указано выше.
// <Имя дополнительной проверки> имя дополнительной проверки, определенной
// в общем модуле ПриСозданииФормыПроверкаСертификата
// с типами, как указано выше.
// <Имя дополнительной проверки>Ошибка имя дополнительной проверки с окончанием Ошибка и
// типом Строка (содержит текст ошибки, если проверка имеет значение Ложь).
//
// * ПараметрыДополнительныхПроверок - Произвольный - параметры, которые передаются в процедуру
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
//
Процедура ПроверитьСертификатСправочника(Сертификат, ДополнительныеПараметры = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ПроверитьСертификатСправочника(Сертификат, ДополнительныеПараметры);

УстановитьРасширение

Описание, пример вызова
// Показывает диалог установки расширения для работы с электронной подписью и шифрованием.
// Только для работы через средства платформы (МенеджерКриптографии).
//
// Параметры:
// БезВопроса - Булево - если указано Истина, тогда вопроса показано не будет.
// Требуется, если пользователь нажал на кнопку Установить расширение.
//
// ОбработчикРезультата - ОписаниеОповещения - описание процедуры, принимающей результат выбора
// РасширениеУстановлено типов:
// = Булево
// Истина - Пользователь подтвердил установку, после установки расширение было успешно подключено.
// Ложь - Пользователь подтвердил установку, однако после установки расширение не удалось подключить.
// = Неопределено - Пользователь отказался от установки.
//
// ТекстВопроса - Строка - текст вопроса.
// ЗаголовокВопроса - Строка - заголовок вопроса.
//
//
Процедура УстановитьРасширение(БезВопроса, ОбработчикРезультата = Неопределено, ТекстВопроса = "", ЗаголовокВопроса = "") Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.УстановитьРасширение(БезВопроса, ОбработчикРезультата, ТекстВопроса, ЗаголовокВопроса);

ОткрытьНастройкиЭлектроннойПодписиИШифрования

Описание, пример вызова
// Открывает или активизирует форму настроек электронной подписи и шифрования.
//
// Параметры:
// Страница - Строка - допустимы строки "Сертификаты", "Настройки", "Программы".
//
Процедура ОткрытьНастройкиЭлектроннойПодписиИШифрования(Страница = "Сертификаты") Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ОткрытьНастройкиЭлектроннойПодписиИШифрования(Страница);

ОткрытьФормуРасширенногоПредставленияОшибки

Описание, пример вызова
// Открывает форму диагностики с причинами и вариантами решения известных проблем при работе с электронной подписью.
// Эти рекомендации автоматически загружаются из классификатора через Интернет. Также в форме можно отправить информацию
// в службу технической поддержки. Рекомендуется вызывать эту функцию вместо вывода пользователю технологического
// сообщения об ошибке во всех случаях после неуспешной операции с электронной подписью.
//
// Параметры:
// ПараметрыФормы - см. ПараметрыФормыРасширенногоПредставленияОшибки.
// ФормаВладелец - ФормаКлиентскогоПриложения - владелец формы.
// ОповещениеОЗавершении - ОписаниеОповещения - оповещение о закрытии формы ошибки.
//
// Пример:
// ПараметрыФормы = ПараметрыФормыРасширенногоПредставленияОшибки();
// ПараметрыФормы.ЗаголовокПредупреждения = НСтр("ru = 'Не удалось выполнить рассылку отчетов'");
// ПараметрыФормы.ТекстОшибкиСервер = ТекстОшибкиШифрованияНаСервере;
// ПараметрыФормы.ДополнительныеДанные.Вставить("Сертификат", Результат.СертификатДляШифрования);
// ПараметрыФормы.ПоказатьТребуетсяПомощь = Истина;
// ПараметрыФормы.ПоказатьИнструкцию = Истина;
// МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
// МодульЭлектроннаяПодписьКлиент.ОткрытьФормуРасширенногоПредставленияОшибки(ПараметрыФормы);
//
Процедура ОткрытьФормуРасширенногоПредставленияОшибки(ПараметрыФормы, ФормаВладелец = Неопределено, ОповещениеОЗавершении = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ОткрытьФормуРасширенногоПредставленияОшибки(ПараметрыФормы, ФормаВладелец, ОповещениеОЗавершении);

ПараметрыФормыРасширенногоПредставленияОшибки

Описание, пример вызова
// Конструктор параметров формы расширенного представления ошибки.
//
// Возвращаемое значение:
// Структура - параметры формы расширенного представления ошибки:
// * ЗаголовокПредупреждения - Строка - заголовок формы ошибки.
// * ИнформацияДляПоддержки - ФорматированнаяСтрока - заголовок элемента для обращения в техподдержку.
// * ТекстОшибкиКлиент - Строка - текст, по которому будет производиться поиск причин и решений на клиенте,
// заполняется в случае, если важен контекст возникновения ошибки
// или текст общей ошибки, если она одна.
// * ТекстОшибкиСервер - Строка - текст, по которому будет производиться поиск причин и решений на сервере
// заполняется в случае, если важен контекст возникновения ошибки.
// * ДополнительныеДанные - Структура:
// ** ДанныеПодписи - Строка - (необязательный) адрес данных подписи во временном хранилище, если ошибка подписи.
// ** Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - (необязательный) ссылка
// на сертификат, с которым связана ошибка.
// ** ДанныеСертификата - Строка - (необязательный) адрес данных сертификата во временном хранилище.
// * ПоказатьТребуетсяПомощь - Булево - показать группу Требуется помощь и кнопки установки расширения и настройки приложений.
// * ПоказатьПереходКНастройкеПрограмм - Булево - если ПоказатьТребуетсяПомощь = Истина,
// показать кнопку для перехода к настройке приложений для работы с электронной подписью.
// * ПоказатьУстановкуРасширения - Булево - если ПоказатьТребуетсяПомощь = Истина,
// показать кнопку для установки расширения криптографии.
// * ПоказатьИнструкцию - Булево - если ПоказатьТребуетсяПомощь = Истина, показывать гиперссылку Требуется помощь.
// * ТекстДополнительнойСсылки - Строка - заголовок дополнительной ссылки, по которой будет запускаться
// обработчик оповещения ОбработчикДополнительнойСсылки, с результатом типа Структура:
// # НавигационнаяСсылка - Строка - ссылка, указанная в ТекстДополнительнойСсылки.
// # ПараметрОбработчикаДополнительнойСсылки - описан ниже.
// * ОбработчикДополнительнойСсылки - Строка - имя обработчика оповещения из общего модуля,
// например, "ОбработкаНеисправностейБЭД.ОткрытьМастерДиагностики".
// * ПараметрОбработчикаДополнительнойСсылки - Произвольный - параметр обработчика ОбработчикДополнительнойСсылки.
//
Функция ПараметрыФормыРасширенногоПредставленияОшибки() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыФормыРасширенногоПредставленияОшибки()

ОткрытьИнструкциюПоРаботеСПрограммами

Описание, пример вызова
// Открывает ссылку на раздел ИТС "Инструкции по работе с программами электронной подписи и шифрования".
//
Процедура ОткрытьИнструкциюПоРаботеСПрограммами() Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ОткрытьИнструкциюПоРаботеСПрограммами()

ДатаПодписания

Описание, пример вызова
// Возвращает дату, извлеченную из двоичных данных подписи, или Неопределено.
//
// Параметры:
// Оповещение - ОписаниеОповещения - вызывается для передачи возвращаемого значения типов:
// = Дата - успешно извлеченная дата подписи,
// = Неопределено - не удалось извлечь дату из данных подписи.
// Подпись - ДвоичныеДанные - данные подписи, из которых нужно извлечь дату.
// ПривестиКЧасовомуПоясуСеанса - Булево - привести универсальное время к времени сеанса.
//
Процедура ДатаПодписания(Оповещение, Подпись, ПривестиКЧасовомуПоясуСеанса = Истина) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ДатаПодписания(Оповещение, Подпись, ПривестиКЧасовомуПоясуСеанса);

ПредставлениеСертификата

Описание, пример вызова
// Возвращает представление сертификата в справочнике, формируемое
// из представления субъекта (КомуВыдан) и срока действия сертификата.
//
// Параметры:
// Сертификат - СертификатКриптографии - сертификат криптографии.
// - Структура:
// * ДействителенДо - см. ЭлектроннаяПодпись.СвойстваСертификата.ДействителенДо
// * Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление сертификата в справочнике.
//
Функция ПредставлениеСертификата(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(Сертификат)

ПредставлениеСубъекта

Описание, пример вызова
// Возвращает представление субъекта сертификата (КомуВыдан).
//
// Параметры:
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление субъекта в формате "Фамилия Имя, Организация, Подразделение, Должность".
// Если ФИО не удалось определить, тогда оно заменяется на ОбщееИмя.
// Организация, Подразделение и Должность могут отсутствовать, если не указаны или
// их не удалось определить.
//
Функция ПредставлениеСубъекта(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПредставлениеСубъекта(Сертификат)

ПредставлениеИздателя

Описание, пример вызова
// Возвращает представление издателя сертификата (КемВыдан).
//
// Параметры:
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление издателя в формате "ОбщееИмя, Организация, Подразделение",
// Организация и Подразделение могут отсутствовать, если не указаны.
//
Функция ПредставлениеИздателя(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПредставлениеИздателя(Сертификат)

СвойстваСертификата

Описание, пример вызова
// Возвращает основные свойства сертификата в виде структуры.
//
// Параметры:
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Структура:
// * Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// * СерийныйНомер - ДвоичныеДанные - свойство сертификата СерийныйНомер.
// * Представление - см. ЭлектроннаяПодписьКлиент.ПредставлениеСертификата.
// * КомуВыдан - см. ЭлектроннаяПодписьКлиент.ПредставлениеСубъекта.
// * КемВыдан - см. ЭлектроннаяПодписьКлиент.ПредставлениеИздателя.
// * ДатаНачала - Дата - свойство сертификата ДатаНачала в часовом поясе сеанса.
// * ДатаОкончания - Дата - свойство сертификата ДатаОкончания в часовом поясе сеанса.
// * Назначение - Строка - описание расширенного свойства сертификата EKU.
// * Подписание - Булево - свойство сертификата ИспользоватьДляПодписи.
// * Шифрование - Булево - свойство сертификата ИспользоватьДляШифрования.
// На платформах 8.3.27 и выше структура содержит свойства:
// * ДействителенДо - Дата - минимальная дата из ДатаОкончания и ДатаОкончанияЗакрытогоКлюча (если указана в сертификате).
// * ДатаНачалаЗакрытогоКлюча - Дата - свойство сертификата, указанное в OID 2.5.29.16 в часовом поясе сеанса.
// * ДатаОкончанияЗакрытогоКлюча - Дата - свойство сертификата, указанное в OID 2.5.29.16 в часовом поясе сеанса.
// * ИдентификаторКлючаУдостоверяющегоЦентра - Строка - идентификатор ключа издателя.
// * АлгоритмПодписи - Строка - OID алгоритма подписи сертификата.
// * АлгоритмОткрытогоКлюча - Строка - OID алгоритма открытого ключа сертификата.
// * АдресаСписковОтзыва - Массив из Строка
//
Функция СвойстваСертификата(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.СвойстваСертификата(Сертификат)

СвойстваСубъектаСертификата

Описание, пример вызова
// Возвращает свойства субъекта сертификата криптографии.
//
// Параметры:
// Сертификат - СертификатКриптографии - для которого нужно вернуть свойства субъекта.
//
// Возвращаемое значение:
// Структура - со свойствами, состав которых зависит от национальной специфики. Пример для Российской Федерации:
// * ОбщееИмя - Строка - (64) - извлекается из поля CN.
// ЮЛ - в зависимости от типа конечного владельца СКПЭП
// а) наименование организации;
// б) название автоматизированной системы;
// в) другое отображаемое имя по требованиям информационной системы.
// ФЛ - ФИО.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Страна - Строка - (2) - извлекается из поля C - двухсимвольный код страны
// согласно ИСО 3166-1:1997 (ГОСТ 7.67-2003).
// - Неопределено - свойство сертификата не существует.
//
// * Регион - Строка - (128) - извлекается из поля S - наименование субъекта РФ.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * НаселенныйПункт - Строка - (128) - извлекается из поля L - наименование населенного пункта.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Улица - Строка - (128) - извлекается из поля Street - наименование улицы, дома, офиса.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Организация - Строка - (64) - извлекается из поля O.
// ЮЛ - полное или сокращенное наименование организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Подразделение - Строка - (64) - извлекается из поля OU.
// ЮЛ - в случае выпуска СКПЭП на должностное лицо - подразделение организации.
// Подразделение - это территориальная структурная единица крупной организации,
// которое обычно не заполняется в сертификате.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ЭлектроннаяПочта - Строка - (128) - извлекается из поля E - адрес электронной почты.
// ЮЛ - адрес электронной почты должностного лица.
// ФЛ - адрес электронной почты физического лица.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Должность - Строка - (64) - извлекается из поля T.
// ЮЛ - в случае выпуска СКПЭП на должностное лицо - его должность.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ОГРН - Строка - (13) - извлекается из поля OGRN.
// ЮЛ - ОГРН организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ОГРНИП - Строка - (15) - извлекается из поля OGRNIP.
// ИП - ОГРН индивидуального предпринимателя.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * СНИЛС - Строка - (11) - извлекается из поля SNILS.
// ФЛ - СНИЛС
// ЮЛ - не обязательно, в случае выпуска СКПЭП на должностное лицо - его СНИЛС.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИНН - Строка - (12) - извлекается из поля INN.
// ФЛ - ИНН.
// ИП - ИНН.
// ЮЛ - не обязательно, но может быть заполнен в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИННЮЛ - Строка - (10) - извлекается из поля INNLE.
// ЮЛ - обязательно, но может отсутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Фамилия - Строка - (64) - извлекается из поля SN, если заполнено.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Имя - Строка - (64) - извлекается из поля GN, если заполнено.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Отчество - Строка - (64) - извлекается из поля GN, если заполнено.
// - Неопределено - такое свойство сертификата отсутствует.
//
Функция СвойстваСубъектаСертификата(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.СвойстваСубъектаСертификата(Сертификат)

СвойстваИздателяСертификата

Описание, пример вызова
// Возвращает свойства издателя сертификата криптографии.
//
// Параметры:
// Сертификат - СертификатКриптографии - для которого нужно вернуть свойства издателя.
//
// Возвращаемое значение:
// Структура - со свойствами, состав которых зависит от национальной специфики.
// Пример для Российской Федерации:
// * ОбщееИмя - Строка - (64) - извлекается из поля CN - псевдоним удостоверяющего центра.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Страна - Строка - (2) - извлекается из поля C - двухсимвольный код страны
// согласно ИСО 3166-1:1997 (ГОСТ 7.67-2003).
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Регион - Строка - (128) - извлекается из поля S - наименование субъекта РФ
// по адресу местонахождения ПАК УЦ.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * НаселенныйПункт - Строка - (128) - извлекается из поля L - наименование населенного пункта
// по адресу местонахождения ПАК УЦ.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Улица - Строка - (128) - извлекается из поля Street - наименование улицы, дома, офиса
// по адресу местонахождения ПАК УЦ.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Организация - Строка - (64) - извлекается из поля O - полное или сокращенное наименование организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Подразделение - Строка - (64) - извлекается из поля OU - подразделение организации.
// Подразделение - это территориальная структурная единица крупной организации,
// которое обычно не заполняется в сертификате.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ЭлектроннаяПочта - Строка - (128) - извлекается из поля E - адрес электронной почты удостоверяющего центра.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ОГРН - Строка - (13) - извлекается из поля OGRN - ОГРН организации удостоверяющего центра.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИНН - Строка - (12) - извлекается из поля INN - ИНН организации удостоверяющего центра.
// ЮЛ - необязательно, но может присутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИННЮЛ - Строка - (10) - извлекается из поля INNLE - ИНН организации удостоверяющего центра.
// ЮЛ - обязательно, но может отсутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
Функция СвойстваИздателяСертификата(Сертификат) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.СвойстваИздателяСертификата(Сертификат)

КонвертXML

Описание, пример вызова
// Возвращает шаблон формата XML, содержащий один стандартный элемент
// Signature (см. стандарт https://www.w3.org/TR/xmldsig-core1)
// с одним элементом Reference и заполненным атрибутом URI
// (ссылка на сообщение XML, которое будет подписано).
//
// Возвращаемый шаблон содержит параметры %SignatureMethod%, %DigestMethod%,
// %DigestValue%, %SignatureValue%, %BinarySecurityToken%,
// которые автоматически заполняются при подписании.
// Параметры %SignatureMethod% (алгоритм подписи в формате xml) и
// %DigestMethod% (алгоритм хеширования в формате xml) вычисляются по
// алгоритму открытого ключа сертификата, которым выполняется подписание,
// сначала по таблице, указанной в ПараметрыXMLDSig, затем
// если таблица не заполнена или соответствие не найдено,
// по внутренней таблице соответствия (рекомендуется).
//
// Поддерживаются также шаблоны с несколькими элементами Signature
// и несколькими элементами Reference.
// Подпись будет добавлена в первый найденный элемент Signature, не содержащий значение подписи.
//
// Поддерживаются алгоритмы подписания и хеширования ГОСТ 94…2012.
// Поддерживаются алгоритмы канонизации:
// Exclusive XML Canonicalization 1.0
// HTTP://www.w3.org/2001/10/xml-exc-c14n#
// HTTP://www.w3.org/2001/10/xml-exc-c14n#WithComments
// Canonical XML 1.0
// HTTP://www.w3.org/TR/2001/REC-xml-c14n-20010315
// HTTP://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
// Canonical XML 1.1
// HTTP://www.w3.org/2006/12/xml-c14n11
// HTTP://www.w3.org/2006/12/xml-c14n11#WithComments
// Enveloped signature (по факту игнорируется, так как
// не поддерживается пустой URI в элементе SignedInfo.Reference):
// HTTP://www.w3.org/2000/09/xmldsig#enveloped-signature
// СМЭВ рекомендации 3.5.0.1, "АЛГОРИТМ трансформации XML":
// urn://smev-gov-ru/xmldsig/transform
//
// Сертификат может быть указан в KeyInfo, как base64 значение:
// - либо в виде элемента X509Data.X509Certificate
// - либо в виде элемента KeyInfoReference.Reference или
// SecurityTokenReference.Reference с URI на элемент со значением.
//
// Параметры:
// Параметры - см. ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML
// - Неопределенно - использовать параметры по умолчанию.
//
// Возвращаемое значение:
// Строка
//
// Пример:
// ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML();
// ПараметрыКонверта.Вариант = "furs.mark.crpt.ru_v1";
// ПараметрыКонверта.СообщениеXML =
// " <getProductDetailsResponse xmlns=""HTTP://warehouse.example.com/ws"">
// | <getProductDetailsResult>
// | <productID>12345</productID>
// | <productName>Стакан граненый</productName>
// | <description>Стакан граненый. 250 мл.</description>
// | <price>9.95</price>
// | <currency>
// | <code>840</code>
// | <alpha3>USD</alpha3>
// | <sign>$</sign>
// | <name>US dollar</name>
// | <accuracy>2</accuracy>
// | </currency>
// | <inStock>true</inStock>
// | </getProductDetailsResult>
// | </getProductDetailsResponse>";
//
// КонвертXML = ЭлектроннаяПодписьКлиент.КонвертXML(Параметры);
//
Функция КонвертXML(Параметры = Неопределено) Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.КонвертXML(Параметры);

ПараметрыКонвертаXML

Описание, пример вызова
// Возвращает параметры, которые можно задать для конверта XML.
//
// Возвращаемое значение:
// Структура:
// * Вариант - Строка - вариант типового шаблона XML для обмена с сервисом:
// "furs.mark.crpt.ru_v1" (начальное значение) или "dmdk.goznak.ru_v1".
// Возможны другие форматы, если удовлетворяют требованиям,
// указанным в описании функции КонвертXML.
//
// * СообщениеXML - Строка - сообщение в формате XML, которое вставлено в шаблон.
// Если не заполнено, остается параметр %MessageXML%.
//
Функция ПараметрыКонвертаXML() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML()

ПараметрыXMLDSig

Описание, пример вызова
// Формирует структуру свойств для настройки нестандартной обработки
// конверта XML и алгоритмов подписания и хеширования.
//
// Рекомендуется не заполнять параметры XPathSignedInfo и XPathПодписываемыйТег
// Параметр XPathSignedInfo вычисляется по алгоритмам канонизации,
// а параметр XPathПодписываемыйТег вычисляется по ссылке
// в атрибуте URI элемента SignedInfo.Reference конверта XML.
// Параметры оставлены для обратной совместимости. Если указаны, работает по-старому:
// не выполняется извлечение параметров из конверта XML и их контроль, при этом
// конверт должен содержать алгоритмы канонизации и иметь элементы
// размещения сертификата, как в варианте конверта "furs.mark.crpt.ru_v1".
//
// Не требуется заполнять алгоритмы для использования сертификатов
// с алгоритмами открытого ключа ГОСТ 94, ГОСТ 2001, ГОСТ 2012/256 и ГОСТ 2012/512.
// Алгоритмы подписания и хеширования вычисляются по алгоритму открытого ключа,
// извлекаемого из сертификата, которым выполняется подписание. Сначала
// по переданной таблице, затем если таблица не заполнена или соответствие
// не найдено, по внутренней таблице соответствия (рекомендуется).
//
// Возвращаемое значение:
// Структура:
// * XPathSignedInfo - Строка - по умолчанию: "(//. | //@* | //namespace::*)[ancestor-or-self::*[local-name()='SignedInfo']]".
// * XPathПодписываемыйТег - Строка - по умолчанию: "(//. | //@* | //namespace::*)[ancestor-or-self::soap:Body]".
//
// * OIDАлгоритмаОткрытогоКлюча - Строка - например, "1.2.643.2.2.19" + Символы.ПС + "1.2.643.7.1.1.1.1" + ...
// * ИмяАлгоритмаПодписи - Строка - например, "GOST R 34.10-2001" + Символы.ПС + "GOST R 34.11-2012" + ...
// * OIDАлгоритмаПодписи - Строка - например, "1.2.643.2.2.3" + Символы.ПС + "1.2.643.7.1.1.3.2" + ...
// * ИмяАлгоритмаХеширования - Строка - например, "GOST R 34.11-94" + Символы.ПС + "GOST R 34.11-12" + ...
// * OIDАлгоритмаХеширования - Строка - например, "1.2.643.2.2.9" + Символы.ПС + "1.2.643.7.1.1.2.2" + ...
// * АлгоритмПодписи - Строка - например, "HTTP://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"
// + Символы.ПС +
// "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" + ...
// * АлгоритмХеширования - Строка - например, "HTTP://www.w3.org/2001/04/xmldsig-more#gostr3411"
// + Символы.ПС + "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" + ...
//
Функция ПараметрыXMLDSig() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig()

ПараметрыCMS

Описание, пример вызова
// Формирует структуру свойств для подписания данных в формате CMS.
//
// Возвращаемое значение:
// Структура:
// * ТипПодписи - Строка - "CAdES-BES" - остальные варианты пока не используются.
// * Открепленная - Булево - Ложь (по умолчанию) - включать данные в контейнер подписи.
// Истина - не включать данные в контейнер подписи.
// * ВключениеСертификатовВПодпись - РежимВключенияСертификатовКриптографии - определяет длину цепочки
// сертификатов, включаемых в подпись. Значение ВключатьЦепочкуБезКорневого
// не поддерживается и считается равным значению ВключатьПолнуюЦепочку.
//
Функция ПараметрыCMS() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыCMS()

ПараметрыЗаписиСертификата

Описание, пример вызова
// Инициализирует структуру параметров для добавления сертификата
// в справочник СертификатыКлючейЭлектроннойПодписиИШифрования.
// Для использования в процедуре ЗаписатьСертификатВСправочник.
//
// Возвращаемое значение:
// Структура:
// * Наименование - Строка - представление сертификата в списке.
// Значение по умолчанию - "".
// * Пользователь - СправочникСсылка.Пользователи - пользователь, которому принадлежит сертификат.
// Значение используется при получении списка личных сертификатов пользователя
// в формах подписания и шифрования данных.
// Значение по умолчанию - Неопределено.
// * Организация - ОпределяемыйТип.Организация - организация, к которой относится сертификат.
// Значение по умолчанию - Неопределено.
// * ФизическоеЛицо - ОпределяемыйТип.ФизическоеЛицо - физическое лицо, к которому относится сертификат.
// Значение по умолчанию - Неопределено.
// * Программа - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования - программа, которая
// требуется для подписания и расшифровки.
// Значение по умолчанию - Неопределено.
// * ВводитьПарольВПрограммеЭлектроннойПодписи - Булево - флажок "Вводить пароль в программе электронной подписи",
// требуется Истина, когда сертификат был установлен на компьютере с усиленной
// защитой закрытого ключа, которая означает поддержку только пустого пароля на
// уровне 1С:Предприятия (пароль у пользователя не запрашивается - это делает
// операционная система, которая не принимает от 1С:Предприятия непустой пароль).
// Значение по умолчанию - Ложь.
//
Функция ПараметрыЗаписиСертификата() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыЗаписиСертификата()

ЗаписатьСертификатВСправочник

Описание, пример вызова
// Осуществляет проверку сертификата и, в случае успеха, добавляет новый или обновляет существующий сертификат
// в справочнике СертификатыКлючейЭлектроннойПодписиИШифрования. Если проверка не пройдена, показывает
// информацию о возникших ошибках.
// Для добавления сертификата на сервере смотри ЭлектроннаяПодпись.ЗаписатьСертификатВСправочник.
//
// Параметры:
// ОбработчикЗавершения - ОписаниеОповещения - вызывается после добавления сертификата
// для передачи возвращаемого значения типов:
// = Неопределено - при проверке или добавлении сертификата произошла ошибка.
// = СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - добавленный сертификат.
// Сертификат - ДвоичныеДанные - двоичные данные сертификата.
// - Строка - двоичные данные сертификата электронной подписи или
// адрес данных во временном хранилище.
// ПарольСертификата - Строка - пароль сертификата для проверки операций с закрытым ключом.
// ДляШифрования - Булево - определяет состав проверок,
// выполняемых перед добавлением сертификата. Если параметр принимает значение Истина,
// выполняется проверка шифрования и расшифровки, иначе - подписания и проверки подписи.
// ДополнительныеПараметры - Неопределено - без дополнительных параметров.
// - см. ПараметрыЗаписиСертификата
//
Процедура ЗаписатьСертификатВСправочник(ОбработчикЗавершения, Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ЗаписатьСертификатВСправочник(ОбработчикЗавершения, );

ПараметрыДобавленияСертификата

Описание, пример вызова
// Инициализирует структуру параметров для интерактивного добавления сертификата.
// Если параметр СоздатьЗаявление - Истина и ИзЛичногоХранилища - Ложь, открывает новое заявление
// на выпуск сертификата.
// Если параметр СоздатьЗаявление - Ложь и ИзЛичногоХранилища - Истина, добавляет сертификат из
// личного хранилища.
// Если параметр СоздатьЗаявление - Истина и ИзЛичногоХранилища - Истина, открывает окно выбора
// способа добавления сертификата.
// Для использования в ЭлектроннаяПодписьКлиент.ДобавитьСертификат
//
// Возвращаемое значение:
// Структура:
// * ВЛичныйСписок - Булево - если параметр принимает значение Истина, то реквизит Пользователь
// будет заполнен текущим пользователем, иначе - реквизит не будет заполнен.
// Значение по умолчанию - Ложь.
// * Организация - ОпределяемыйТип.Организация - организация, к которой относится сертификат.
// Значение по умолчанию - Неопределено.
// В случае, когда параметр используется для создания заявления, тогда значение
// передается в процедуру ПриЗаполненииРеквизитовОрганизацииВЗаявленииНаСертификат
// общего модуля ЗаявлениеНаСертификатПереопределяемый без изменения, а после вызова
// приводится к составу типов свойства ТипОрганизации.
// * СоздатьЗаявление - Булево - если параметр принимает значение Истина, добавляет возможность
// создать новое заявление на выпуск сертификата.
// Значение по умолчанию - Истина.
// * ИзЛичногоХранилища - Булево - если параметр принимает значение Истина, добавляет возможность
// выбрать сертификат из установленных в личном хранилище.
// Значение по умолчанию - Истина.
// * ФизическоеЛицо - СправочникСсылка - физическое лицо, для которого нужно создать заявление
// на выпуск сертификата (когда заполнено, имеет приоритет над организацией).
// Значение по умолчанию - Неопределено.
// Значение передается в процедуру ПриЗаполненииРеквизитовВладельцаВЗаявленииНаСертификат
// общего модуля ЗаявлениеНаСертификатПереопределяемый без изменения, а после вызова
// приводится к составу типов свойства ТипВладельца.
// * НаТокене - Булево - по умолчанию выбирать в заявлении на сертификат токен.
//
Функция ПараметрыДобавленияСертификата() Экспорт

Пример вызова

Результат = ЭлектроннаяПодписьКлиент.ПараметрыДобавленияСертификата()

ДобавитьСертификат

Описание, пример вызова
// Интерактивно добавляет сертификат из установленных на компьютере или создает заявление на выпуск сертификата.
//
// Параметры:
// ОбработчикЗавершения - ОписаниеОповещения - вызывается после добавления сертификата со значением одного из типов:
// = Неопределено - при проверке или добавлении сертификата произошла ошибка.
// = Структура:
// # Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - добавленный сертификат.
// # Добавлен - Булево - признак того, что сертификат успешно добавлен. Если сертификат добавляется
// с помощью заявления на выпуск нового квалифицированного сертификата, признак принимает
// значение Ложь пока заявление не будет исполнено и сертификат не будет установлен на
// компьютере.
// ПараметрыДобавления - Неопределено - без дополнительных параметров.
// - см. ЭлектроннаяПодписьКлиент.ПараметрыДобавленияСертификата
//
// Пример:
// 1) Добавление сертификата из установленных в личном хранилище:
// ПараметрыДобавления = ЭлектроннаяПодписьКлиент.ПараметрыДобавленияСертификата();
// ПараметрыДобавления.СоздатьЗаявление = Ложь;
// ЭлектроннаяПодписьКлиент.ДобавитьСертификат(, ПараметрыДобавления);
//
// 2) Создание заявления на выпуск сертификата:
// ПараметрыДобавления = ЭлектроннаяПодписьКлиент.ПараметрыДобавленияСертификата();
// ПараметрыДобавления.ИзЛичногоХранилища = Ложь;
// ЭлектроннаяПодписьКлиент.ДобавитьСертификат(, ПараметрыДобавления);
//
// 3) Интерактивный выбор способа добавления сертификата:
// ЭлектроннаяПодписьКлиент.ДобавитьСертификат();
//
Процедура ДобавитьСертификат(ОбработчикЗавершения = Неопределено, ПараметрыДобавления = Неопределено) Экспорт

Пример вызова

ЭлектроннаяПодписьКлиент.ДобавитьСертификат(ОбработчикЗавершения, ПараметрыДобавления);

© 2024, ООО 1С-Софт
Все права защищены. Эта программа и сопроводительные материалы предоставляются
в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0).