Управление секретами в приложении
«1С:Исполнитель» позволяет вам безопасно хранить в приложении секреты — пароли, токены доступа, ключи и другие конфиденциальные данные.
Для работы с секретами используется абстрактный базовый тип Секрет
. Данный тип предоставляет возможность хранить значение в зашифрованном виде. От него наследуются все поддерживаемые виды секретов, в частности секрет приложения, который может использоваться для доступа к другим сервисам, базам данных и т. п.
Секрет приложения
Вы можете создать секрет, уникальный для приложения, с помощью конструктора типа СекретПриложения
. Максимальный размер шифруемого значения — 1000 символов.
Создание секрета приложения
знч СекретДемоПриложения = новый СекретПриложения("ЗначениеСекрета")
Значение секрета приложения хранится на сервере в зашифрованном виде. Если вы хотите посмотреть открытое значение секрета, вызовите метод Раскрыть()
.
Раскрытие секрета приложения
знч ОткрытоеЗначение = СекретДемоПриложения.Раскрыть()
При использовании этого метода следует учитывать следующие особенности:
- На клиенте можно раскрыть только секрет, созданный в клиентском окружении. Если секрет создан на сервере, то раскрыть его значение можно только на сервере, в противном случае выбрасывается
ИсключениеДоступаКСекрету
.
- Если ключ шифрования секрета отсутст вует, то выбрасывается
ИсключениеДоступаКСекрету
.
Использование секрета во встроенном языке
Экземпляры типов, унаследованных от типа Секрет
, могут передаваться в методы встроенного языка в качестве значения параметра Пароль
, например:
Создание зашифрованного ZIP-архива
@НаСервере
метод ЗаписатьСШифрованием(ПутьКАрхиву: Строка, Пароль: Секрет)
пер Архив = новый ФайлZip(ПутьКАрхиву, Пароль)
Архив.Добавить(Файлы.ПолучитьДомашнийКаталогПользователя().Путь + "/ПапкаСФайламиДляСжатия",
УровеньСжатия = УровеньСжатияZip.Максимальный, МетодШифрования = МетодШифрованияZip.Aes256)
;