МенеджерКриптографии.УсовершенствоватьПодпись

Методы · EnhanceSignature

Выполняет усовершенствование подписи в формате CAdES-BES. При создании усовершенствованной подписи выполняется обращение к серверам меток времени, адреса которых указаны в поле АдресаСерверовМетокВремени. Поддерживаемые форматы: CAdEST, CAdESC, CAdESXLongType2, CAdESAv3.

Синтаксис

УсовершенствоватьПодпись(<ИсходныеДанные>, <ТипПодписи>)
УсовершенствоватьПодпись(<ИсходныеДанные>, <ВыходныеДанные>, <ТипПодписи>)

Примеры платформы

МенеджерКриптографии.УсовершенствоватьПодпись(Данные, "result.sig",
ТипПодписиКриптографии.CAdEST);
Полное описание, параметры и ограничения

МенеджерКриптографии.УсовершенствоватьПодпись (CryptoManager.EnhanceSignature)

МенеджерКриптографии (CryptoManager)

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

Доступен, начиная с версии 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.

Доступность:

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Пример:

МенеджерКриптографии.УсовершенствоватьПодпись(Данные, "result.sig",
ТипПодписиКриптографии.CAdEST);

Использование в версии:

Доступен, начиная с версии 8.3.20.

Описание изменено в версии 8.3.24.

Методическая информация

Практические примеры

Подпись: усовершенствование и архивная метка

Из действительной собственной CAdES-подписи получаем новую подпись с меткой, затем архивную метку. Результаты остаются двоичными данными в памяти.

Где и как запускать

Синтаксический пример для толстого клиента Windows в своей учебной форме. Фрагмент без процедуры вставляется в тело обработчика. Здесь компоненты, COM и криптография не запускались.

Подготовка

  1. В своём учебном Windows-приложении заранее установите поддерживаемый криптопровайдер. В коде выбран Microsoft Enhanced RSA and AES Cryptographic Provider с типом 24; если его нет, этот пример не подготовлен.

  2. Подготовьте собственную действительную подпись CAdES-BES в файле C:\УчебныеДанные\заказ.p7s. Для проверки метки используйте свою подпись CAdES-T с настоящей меткой. Произвольный текст с расширением p7s не является подписью.

  3. Для получения метки создайте строковый реквизит формы АдресСервераМеток и заполните действительным адресом разрешённого учебного TSA. Подготовьте доверие сертификатам и разрешение на обращение к этому сервису. Здесь сервис не вызывается.

Крипто = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24);
Крипто.АдресаСерверовМетокВремени.Добавить(АдресСервераМеток);
Исходная = Новый ДвоичныеДанные("C:\УчебныеДанные\заказ.p7s");
СМеткой = Крипто.УсовершенствоватьПодпись(Исходная, ТипПодписиКриптографии.CAdEST);
Архивная = Крипто.ДобавитьАрхивнуюМеткуВремени(СМеткой);
Сообщить("Байт после усовершенствования: " + Строка(СМеткой.Размер()));
Сообщить("Байт с архивной меткой: " + Строка(Архивная.Размер()));

Разбор по шагам

  1. Создайте инициализированный менеджер с реально установленным провайдером.

  2. Прочитайте свою подпись и получите CAdES-T.

  3. Добавьте архивную метку и используйте размеры реальных результатов.

Как проверить результат

  1. Исходный файл не перезаписывается: результаты сохраняются в переменных.

  2. Результаты без выходного файла — ДвоичныеДанные; размер не доказывает доверие подписи.

Ожидаемый результат

Показан синтаксис для указанной подготовки. Здесь код не запускался; реальные результаты и побочные эффекты проверяются только при будущем осознанном выполнении в своём учебном приложении.

На что обратить внимание

  1. Обращение к TSA происходит при будущем выполнении. Истечение сертификатов, отсутствие доверия или сети может дать исключение.

  2. Архивную метку добавляют к CAdES-BES или более высокому типу, не к произвольному файлу.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.