---
title: Электронная подпись клиент
slug: bsp/электронная-подпись-клиент
---


## ИспользоватьЭлектронныеПодписи
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.ИспользоватьЭлектронныеПодписи() 
```
</details>

## ИспользоватьШифрование
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.ИспользоватьШифрование() 
```
</details>

## ПроверятьЭлектронныеПодписиНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## СоздаватьЭлектронныеПодписиНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## Подписать
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## НовыйТипПодписи
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ДобавитьПодписьИзФайла
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## СохранитьДанныеВместеСПодписью
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПроверитьПодпись
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ЭлектроннаяПодписьКлиент.ПроверитьПодпись(Оповещение, ИсходныеДанные, Подпись, );
```
</details>

## ПараметрыПроверкиПодписи
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## Зашифровать
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## Расшифровать
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## УсовершенствоватьПодпись
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПроверитьСертификат
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПараметрыПроверкиСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПроверитьСертификатСправочника
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## УстановитьРасширение
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ОткрытьНастройкиЭлектроннойПодписиИШифрования
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ЭлектроннаяПодписьКлиент.ОткрытьНастройкиЭлектроннойПодписиИШифрования(Страница);
```
</details>

## ОткрытьФормуРасширенногоПредставленияОшибки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПараметрыФормыРасширенногоПредставленияОшибки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ОткрытьИнструкциюПоРаботеСПрограммами
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ЭлектроннаяПодписьКлиент.ОткрытьИнструкциюПоРаботеСПрограммами() 
```
</details>

## ДатаПодписания
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ЭлектроннаяПодписьКлиент.ДатаПодписания(Оповещение, Подпись, ПривестиКЧасовомуПоясуСеанса);
```
</details>

## ПредставлениеСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПредставлениеСубъекта
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.ПредставлениеСубъекта(Сертификат) 
```
</details>

## ПредставлениеИздателя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## СвойстваСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## СвойстваСубъектаСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает свойства субъекта сертификата криптографии.
//
// Параметры:
//   Сертификат - СертификатКриптографии - для которого нужно вернуть свойства субъекта.
//
// Возвращаемое значение:
//  Структура - со свойствами, состав которых зависит от национальной специфики. Пример для Российской Федерации:
//     * ОбщееИмя         - Строка - (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, если заполнено.
//                        - Неопределено - такое свойство сертификата отсутствует.
//
Функция СвойстваСубъектаСертификата(Сертификат) Экспорт
```

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.СвойстваСубъектаСертификата(Сертификат) 
```
</details>

## СвойстваИздателяСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает свойства издателя сертификата криптографии.
//
// Параметры:
//   Сертификат - СертификатКриптографии - для которого нужно вернуть свойства издателя.
//
// Возвращаемое значение:
//  Структура - со свойствами, состав которых зависит от национальной специфики.
//              Пример для Российской Федерации:
//     * ОбщееИмя         - Строка - (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 - ИНН организации удостоверяющего центра.
//                          ЮЛ - обязательно, но может отсутствовать в старых сертификатах.
//                        - Неопределено - такое свойство сертификата отсутствует.
//
Функция СвойстваИздателяСертификата(Сертификат) Экспорт
```

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.СвойстваИздателяСертификата(Сертификат) 
```
</details>

## КонвертXML
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает шаблон формата 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(Параметры = Неопределено) Экспорт
```

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

## ПараметрыКонвертаXML
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ПараметрыXMLDSig
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Формирует структуру свойств для настройки нестандартной обработки
// конверта 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() Экспорт
```

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig() 
```
</details>

## ПараметрыCMS
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = ЭлектроннаяПодписьКлиент.ПараметрыCMS() 
```
</details>

## ПараметрыЗаписиСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ЗаписатьСертификатВСправочник
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
ЭлектроннаяПодписьКлиент.ЗаписатьСертификатВСправочник(ОбработчикЗавершения, );
```
</details>

## ПараметрыДобавленияСертификата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

## ДобавитьСертификат
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

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

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
