Асинхронная функция. Выполняет усовершенствование подписи в формате CAdES-BES. При создании усовершенствованной подписи выполняется обращение к серверам меток времени, адреса которых указаны в поле АдресаСерверовМетокВремени. Поддерживаемые форматы: CAdEST, CAdESC, CAdESXLongType2, CAdESAv3.
Синтаксис
УсовершенствоватьПодписьАсинх(<ИсходныеДанные>, <ТипПодписи>)УсовершенствоватьПодписьАсинх(<ИсходныеДанные>, <ВыходныеДанные>, <ТипПодписи>)Примеры платформы
МенеджерКриптографии.УсовершенствоватьПодписьАсинх(Данные,
ТипПодписиКриптографии.CAdESAv3);Полное описание, параметры и ограничения
МенеджерКриптографии.УсовершенствоватьПодписьАсинх (CryptoManager.EnhanceSignatureAsync)
МенеджерКриптографии (CryptoManager)
УсовершенствоватьПодписьАсинх (EnhanceSignatureAsync)
Доступен, начиная с версии 8.3.20.
Вариант синтаксиса: Данные подписи в возвращаемом значении
Синтаксис:
УсовершенствоватьПодписьАсинх(<ИсходныеДанные>, <ТипПодписи>)
Параметры:
<ИсходныеДанные> (обязательный)
Тип: Строка, ДвоичныеДанные, Поток, ПотокВПамяти, ФайловыйПоток.
Исходные данные могут размещаться в файле (в этом случае указывается имя файла) или представлены как ДвоичныеДанные, Поток, ПотокВПамяти или ФайловыйПоток.
<ТипПодписи> (необязательный)
Тип: ТипПодписиКриптографии.
Тип подписи криптографии.
Методы, отвечающие за установку подписи, поддерживают только следующие типы подписей:
CAdEST (CAdEST) ,
CAdESC (CAdESC) ,
CAdESXLongType2 (CAdESXLongType2) ,
CAdESAv3 (CAdESAv3) ,
CMS (CMS) .
Значение по умолчанию: CAdEST.
Описание варианта метода:
Данные подписи возвращаются методом как Обещание с результатом ДвоичныеДанные.
Вариант синтаксиса: Данные подписи сохраняются в файл
Синтаксис:
УсовершенствоватьПодписьАсинх(<ИсходныеДанные>, <ВыходныеДанные>, <ТипПодписи>)
Параметры:
<ИсходныеДанные> (обязательный)
Тип: Строка, ДвоичныеДанные, Поток, ПотокВПамяти, ФайловыйПоток.
Исходные данные могут размещаться в файле (в этом случае указывается имя файла) или представлены как ДвоичныеДанные, Поток, ПотокВПамяти или ФайловыйПоток.
<ВыходныеДанные> (обязательный)
Тип: Строка, Поток, ПотокВПамяти, ФайловыйПоток.
Имя файла или поток, в который будут выгружены данные подписи.
Если Неопределено, то результат работы метода вернется в возвращаемом значении типа ДвоичныеДанные.
<ТипПодписи> (необязательный)
Тип: ТипПодписиКриптографии.
Тип подписи криптографии.
Методы, отвечающие за установку подписи, поддерживают только следующие типы подписей:
CAdEST (CAdEST) ,
CAdESC (CAdESC) ,
CAdESXLongType2 (CAdESXLongType2) ,
CAdESAv3 (CAdESAv3) ,
CMS (CMS) .
Значение по умолчанию: CAdEST.
Описание варианта метода:
Данные подписи записываются в файл. Возвращает Обещание с результатом Неопределено.
Возвращаемое значение:
Тип: Обещание.
Обещание. Результат выполнения обещания – двоичные данные усовершенствованной подписи (если ВыходныеДанные = Неопределено) иначе Неопределено.
Описание:
Асинхронная функция. Выполняет усовершенствование подписи в формате CAdES-BES.
При создании усовершенствованной подписи выполняется обращение к серверам меток времени, адреса которых указаны в поле АдресаСерверовМетокВремени.
Поддерживаемые форматы:
CAdEST,
CAdESC,
CAdESXLongType2,
CAdESAv3.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
МенеджерКриптографии.УсовершенствоватьПодписьАсинх(Данные,
ТипПодписиКриптографии.CAdESAv3);
См. также:
МенеджерКриптографии, метод УсовершенствоватьПодпись
МенеджерКриптографии, метод НачатьУсовершенствованиеПодписи
Использование в версии:
Доступен, начиная с версии 8.3.20.
Методическая информация
Практические примеры
Подпись: дождаться усовершенствования и архивной метки
Асинхронные варианты возвращают Обещание. Следующий этап получает именно завершённый результат предыдущего.
Где и как запускать
Синтаксический пример для толстого клиента Windows в своей учебной форме. Фрагмент без процедуры вставляется в тело обработчика. Здесь компоненты, COM и криптография не запускались.
Подготовка
В своём учебном Windows-приложении заранее установите поддерживаемый криптопровайдер. В коде выбран Microsoft Enhanced RSA and AES Cryptographic Provider с типом 24; если его нет, этот пример не подготовлен.
Подготовьте собственную действительную подпись CAdES-BES в файле C:\УчебныеДанные\заказ.p7s. Для проверки метки используйте свою подпись CAdES-T с настоящей меткой. Произвольный текст с расширением p7s не является подписью.
Для получения метки создайте строковый реквизит формы АдресСервераМеток и заполните действительным адресом разрешённого учебного TSA. Подготовьте доверие сертификатам и разрешение на обращение к этому сервису. Здесь сервис не вызывается.
&НаКлиенте
Асинх Процедура ДополнитьПодпись()
Крипто = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24);
Крипто.АдресаСерверовМетокВремени.Добавить(АдресСервераМеток);
Исходная = Новый ДвоичныеДанные("C:\УчебныеДанные\заказ.p7s");
СМеткой = Ждать Крипто.УсовершенствоватьПодписьАсинх(Исходная, ТипПодписиКриптографии.CAdEST);
Архивная = Ждать Крипто.ДобавитьАрхивнуюМеткуВремениАсинх(СМеткой);
Сообщить("Байт с меткой: " + Строка(СМеткой.Размер()));
Сообщить("Байт с архивной меткой: " + Строка(Архивная.Размер()));
КонецПроцедурыРазбор по шагам
Вставьте полную асинхронную процедуру в свою форму толстого клиента.
Дождитесь усовершенствованной подписи.
Только затем передайте её в добавление архивной метки и дождитесь результата.
Как проверить результат
Оба результата получены через Ждать, а не остаются Обещанием.
При исключении следующая операция не считается выполненной.
Ожидаемый результат
Показан синтаксис для указанной подготовки. Здесь код не запускался; реальные результаты и побочные эффекты проверяются только при будущем осознанном выполнении в своём учебном приложении.
На что обратить внимание
Асинхронное выполнение не устраняет требования к криптопровайдеру, TSA и доверию.
Синхронный конструктор выбран для толстого клиента Windows; не переносите эту подготовку без изменений в веб-клиент.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.