Асинхронная функция. Выгружает сертификат.
Синтаксис
ВыгрузитьАсинх()ВыгрузитьАсинх(<ИмяФайла>)Полное описание, параметры и ограничения
СертификатКриптографии.ВыгрузитьАсинх (CryptoCertificate.UnloadAsync)
СертификатКриптографии (CryptoCertificate)
ВыгрузитьАсинх (UnloadAsync)
Доступен, начиная с версии 8.3.18.
Вариант синтаксиса: Данные в двоичном виде
Синтаксис:
ВыгрузитьАсинх()
Описание варианта метода:
Передает выгруженные данные в параметре типа ДвоичныеДанные.
Вариант синтаксиса: Данные в файл
Синтаксис:
ВыгрузитьАсинх(<ИмяФайла>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, в который будет выгружен сертификат.
Описание варианта метода:
Выгружает сертификат в файл.
Возвращаемое значение:
Тип: Обещание.
Результат выполнения обещания - данные типа ДвоичныеДанные или имя файла, в который выгружен сертификат.
Описание:
Асинхронная функция. Выгружает сертификат.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
СертификатКриптографии, метод Выгрузить
Использование в версии:
Доступен, начиная с версии 8.3.18.
Методическая информация
Практические примеры
Получить созданный сертификат из Ждать и выгрузить его
ИнициализироватьАсинх возвращает обещание созданного объекта. Используем именно результат Ждать, затем ожидаем публичную выгрузку.
Где и как запускать
Модуль пустой управляемой формы учебной внешней обработки; тонкий или толстый клиент Windows. Вставьте весь модуль. Это не серверный код.
Подготовка
Создайте учебную внешнюю обработку с пустой управляемой основной формой. Создайте команду УчебныйПример и кнопку этой команды.
В свойстве команды Действие выберите процедуру УчебныйПример. Вставьте полный приведённый модуль формы.
Откройте EPF в тонком или толстом клиенте Windows и нажмите кнопку. Не переносите Ждать и Асинх в серверный общий модуль.
Пример работает только со своими данными в памяти; записи в базу, файлы и сеть нет.
В пример встроен отдельный публичный учебный X.509-сертификат Syntax Guide Training Only. Его закрытый ключ не сохранён, сертификат не установлен в хранилище ОС и не признан доверенным.
Используйте Windows-клиент или Windows-сервер 1С 8.5.1.1343. Проверка других ОС, веб-клиента и расширений криптографии этим уроком не подтверждена.
Не заменяйте учебный сертификат рабочим для первого запуска. Код ничего не подписывает, не импортирует в хранилища, не обращается к OCSP/CRL и не просит пароль.
&НаКлиенте
Асинх Процедура УчебныйПример(Команда)
ИсходныеДанные = Base64Значение("MIIC+jCCAeKgAwIBAgIBVTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpTeW50YXggR3VpZGUgVHJhaW5pbmcgT25seTAeFw0yMDAxMDEwMDAwMDBaFw0zNTEyMzEwMDAwMDBaMCUxIzAhBgNVBAMMGlN5bnRheCBHdWlkZSBUcmFpbmluZyBPbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkraGtF6mSMHQWI0lIdDxzNjLTB0VHmtLUYEIxXFFJepQtyMGWZ9rfpbTglFp8wpsw+Wc09FQyDFuKsNz3cBcBBx7fTmJVuYzfrXjhDECNqEoKMEf+Qrim3WsVKA/Qr8IMnzq1qdnA1pLgaaKyscfCJkw9W1yoTlLV3PmGs6h6gP1/KXwe+zKN5r3Jl0IVk8RXTLAeyqN01lCuyzaeSYm/v2YS88LdaJ/nkdFqy5QjRXfm7EOCW7eCZlCBwW0EvGhUarZxWlq04lPs9qu3aC3/6gY/scE2vY1jeZV2VpV0lLQpU5gVdjVGI4YQmfgkb8jYtV5U7FQ1KQ6Poji/ort6wIDAQABozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAQEARoo1FJJKKkaZXyFl1tlYj8K7xvryXwhb+tCaFvdXuON27YC3/YIHLUT9sCF9o76VIT8dsVMpK0Qo+VV0FIvqRcB+u6SmyJ+Y7590mzd5P1CSt8Y/4BNV2LosYxhcdVczs26PWHL5GXyBMWRxtBjNsnTeMKh4/WIMrplAr0IOJCmjIeKhv0JbQacsNqhmpe7JdgtBYC4Rrn3ajdD99HZREmyLR/iJrh6W4IGqSN0MGT0xL/mLI0GsTp9JhHDF3o8bmC1yMDlLOoAZp7M072bzfDsKFPg4ATQp/hhbtsTdS/LXrd9cLehZ7ThH6ljL8y2JbALD+6HPnT6Sv+Mg0Wq0MA==");
Инициализатор = Новый СертификатКриптографии;
Сертификат = Ждать Инициализатор.ИнициализироватьАсинх(ИсходныеДанные);
Если ТипЗнч(Сертификат) <> Тип("СертификатКриптографии") Тогда
ВызватьИсключение "Инициализация не вернула созданный сертификат";
КонецЕсли;
Выгруженные = Ждать Сертификат.ВыгрузитьАсинх();
Если ТипЗнч(Выгруженные) <> Тип("ДвоичныеДанные") Тогда
ВызватьИсключение "Асинхронная выгрузка не вернула двоичные данные";
КонецЕсли;
Сообщить(Base64Строка(Выгруженные) = Base64Строка(ИсходныеДанные));
Сообщить(Base64Строка(Сертификат.Отпечаток) = "tRDNiwoaiFssHhQqwyjWVlPLdns=");
КонецПроцедурыРазбор по шагам
Фрагмент — полный клиентский модуль учебной формы с Асинх процедурой команды.
Конструктор без аргументов создаёт инициализатор, а не уже загруженный сертификат.
Результат Ждать ИнициализироватьАсинх — созданный СертификатКриптографии. Не теряем его и не подменяем объектом Обещание.
ВыгрузитьАсинх без имени файла возвращает через Ждать публичные ДвоичныеДанные; проверяем тип и содержимое.
Как проверить результат
Два сравнения Истина и отсутствие файлов.
В отладчике Сертификат — созданный результат, Выгруженные — ДвоичныеДанные, не Обещание.
Ожидаемый результат
Правильно использован результат асинхронной инициализации и публичной выгрузки.
На что обратить внимание
Обычная процедура без Асинх не подходит для этого Ждать.
Инициализатор и созданный сертификат нельзя считать одним объектом без проверки контракта.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.