Сервис криптографии
Зашифровать
Описание, пример вызова
// Шифрует данные для заданного списка получателей.//// Параметры:// Данные - ДвоичныеДанные, Строка, Массив - один или несколько файлов, которые необходимо зашифровать.// Двоичные данные или адрес во временном хранилище файла данных,// который необходимо зашифровать.//// Получатели - ДвоичныеДанные - файлов сертификатов// - Структура, ФиксированнаяСтруктура - параметры для поиска сертификатов в хранилище:// * Отпечаток - ДвоичныеДанные, Строка - отпечаток сертификата,// или// * СерийныйНомер - ДвоичныеДанные, Строка - серийный номер сертификата,// * Издатель - Структура, ФиксированнаяСтруктура, Строка - свойства издателя// или// * Сертификат - ДвоичныеДанные - файл сертификата.// - Массив, ФиксированныйМассив - сертификаты получателей зашифрованного сообщения.//// ТипШифрования - Строка - тип шифрования. Поддерживается только CMS.//// ПараметрыШифрования - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры шифрования.//// Возвращаемое значение:// ДвоичныеДанные, Строка - зашифрованные данные. Если данные переданы через временное хранилище,// то и результат будет возвращен также.//Функция Зашифровать(Данные, Получатели, ТипШифрования = "CMS", ПараметрыШифрования = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.Зашифровать(Данные, Получатели, ТипШифрования, ПараметрыШифрования);
ЗашифроватьБлок
Описание, пример вызова
// Шифрует блок данных для получателя.//// Параметры:// Данные - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла данных,// который необходимо зашифровать.//// Получатель - ДвоичныеДанные - файлов сертификатов// - Структура, ФиксированнаяСтруктура - параметры для поиска сертификатов в хранилище:// * Отпечаток - ДвоичныеДанные, Строка - отпечаток сертификат.// или// * СерийныйНомер - ДвоичныеДанные, Строка - серийный номер сертификата.// * Издатель - Структура, ФиксированнаяСтруктура, Строка - свойства издателя// или// * Сертификат - ДвоичныеДанные - файл сертификата.//// Возвращаемое значение:// ДвоичныеДанные, Строка - зашифрованные данные. Если данные переданы через временное хранилище,// то и результат будет возвращен также.//Функция ЗашифроватьБлок(Данные, Получатель) Экспорт
Пример вызова
Результат = СервисКриптографии.ЗашифроватьБлок(Данные, Получатель)
Расшифровать
Описание, пример вызова
// Выполняет расшифровку данных.//// Параметры:// ЗашифрованныеДанные - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла данных,// который необходимо расшифровать.//// Сертификат - Структура - сертификат, который необходимо использовать для расшифровки:// * Идентификатор - Строка - идентификатор сертификата.//// ТипШифрования - Строка - поддерживается только CMS.//// ПараметрыШифрования - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры шифрования:// * ИспользоватьДлительныйМаркерБезопасности - Булево - Если Истина, то для расшифровки можно использовать длительный маркер безопасности.// Ложь - значение по умолчанию.//// Возвращаемое значение:// ДвоичныеДанные - расшифрованные данные,// Строка - расшифрованные данные, если данные переданы через временное хранилище,// Структура - Описание ошибки выполнения:// * КодВозврата - Строка - код ошибки.// * Идентификатор - Строка - идентификатор сертификата.//Функция Расшифровать(ЗашифрованныеДанные, Сертификат, ТипШифрования = "CMS", ПараметрыШифрования = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.Расшифровать(ЗашифрованныеДанные, Сертификат, ТипШифрования, ПараметрыШифрования);
РасшифроватьПереборомСертификатов
Описание, пример вызова
// Выполняет расшифровку данных перебором сертификатов из криптосообщения.//// Параметры:// ЗашифрованныеДанные - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла данных,// который необходимо расшифровать.//// ТипШифрования - Строка - поддерживается только CMS.//// ПараметрыШифрования - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры шифрования.// * ИспользоватьДлительныйМаркерБезопасности - Булево - Если Истина, то для расшифровки можно использовать длительный маркер безопасности.// Ложь - значение по умолчанию.//// Возвращаемое значение:// ДвоичныеДанные, Строка - расшифрованные данные. Если данные переданы через временное хранилище,// то и результат будет возвращен также.// Структура - Описание ошибки выполнения.// * КодВозврата - Строка - код ошибки.// * Идентификатор - Строка - идентификатор сертификата.//Функция РасшифроватьПереборомСертификатов(ЗашифрованныеДанные, ТипШифрования = "CMS", ПараметрыШифрования = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.РасшифроватьПереборомСертификатов(ЗашифрованныеДанные, ТипШифрования, ПараметрыШифрования);
РасшифроватьБлок
Описание, пример вызова
// Выполняет расшифровку блока данных.//// Параметры:// ЗашифрованныеДанные - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла данных,// который необходимо расшифровать.//// Получатель - ДвоичныеДанные - файл сертификата получателя зашифрованного сообщения// - Структура, ФиксированнаяСтруктура - параметры для поиска сертификатов в хранилище:// * Идентификатор - Строка - идентификатор сертификата.//// КлючеваяИнформация - Структура, ФиксированнаяСтруктура - позволяет передать данные о ключах шифрования в запрос:// * ephemeral_key - ДвоичныеДанные, Строка - в base64, эфемерный ключ// * session_key - ДвоичныеДанные, Строка - в base64, сессионный ключ// * iv_data - ДвоичныеДанные, Строка - в base64, данные вектора инициализации//// ПараметрыШифрования - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры шифрования.//// Возвращаемое значение:// ДвоичныеДанные - расшифрованные данные;// Строка - расшифрованные данные, если данные переданы через временное хранилище;// Структура - описание ошибки выполнения:// * КодВозврата - Строка - код ошибки.// * Идентификатор - Строка - идентификатор сертификата.//Функция РасшифроватьБлок(ЗашифрованныеДанные, Получатель, КлючеваяИнформация, ПараметрыШифрования = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.РасшифроватьБлок(ЗашифрованныеДанные, Получатель, КлючеваяИнформация, ПараметрыШифрования);
Подписать
Описание, пример вызова
// Выполняет подписание данных.//// Параметры:// Данные - ДвоичныеДанные, Строка, Массив - один или несколько файлов, которые необходимо подписать.// Двоичные данные или адрес во временном хранилище файла данных,// который необходимо подписать.//// Подписант - ДвоичныеДанные - файла сертификата для подписания.// - Структура, ФиксированнаяСтруктура - параметры для поиска сертификата в хранилище.// * Отпечаток - ДвоичныеДанные, Строка - отпечаток сертификат.// или// * СерийныйНомер - ДвоичныеДанные, Строка - серийный номер сертификата.// * Издатель - Структура, ФиксированнаяСтруктура, Строка - свойства издателя.// или// * Сертификат - ДвоичныеДанные - файл сертификата.//// ТипПодписи - Строка - тип подписи. Поддерживаются только "CMS" или "GOST3410".//// ПараметрыПодписания - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры подписания:// * ОтсоединеннаяПодпись - Булево - поддерживается только CMS, если Истина, то будет сформирована отсоединенная подпись, иначе - присоединенная.// Истина - значение по умолчанию.// * ИспользоватьДлительныйМаркерБезопасности - Булево - Если Истина, то для расшифровки можно использовать длительный маркер безопасности.// Ложь - значение по умолчанию.//// Возвращаемое значение:// ДвоичныеДанные - подпись;// Строка - подпись, если данные переданы через временное хранилище;// Структура - описание ошибки выполнения:// * КодВозврата - Строка - код ошибки.// * Идентификатор - Строка - идентификатор сертификата.//Функция Подписать(Данные, Подписант, ТипПодписи = "CMS", ПараметрыПодписания = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.Подписать(Данные, Подписант, ТипПодписи, ПараметрыПодписания);
ПроверитьПодпись
Описание, пример вызова
// Выполняет проверку подписи.//// Параметры:// Подпись - ДвоичныеДанные - подпись, которую необходимо проверить.//// Данные - ДвоичныеДанные - исходные данные, необходимые для проверки подписи. Используется для проверки ОтсоединеннаяПодпись.//// ТипПодписи - Строка - тип подписи. Поддерживаются только "CMS" или "GOST3410".//// ПараметрыПодписания - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры подписания.// * ОтсоединеннаяПодпись - Булево - используется совместно с ТипПодписи = "CMS", если Истина, то подпись будет проверяться с использованием Данные.// Истина - значение по умолчанию.// * Сертификат - ДвоичныеДанные - файл сертификата, обязательно используется совместно с ТипПодписи = "GOST3410".//// Возвращаемое значение:// Булево - если Истина, то подпись действительна.//Функция ПроверитьПодпись(Подпись, Данные = Неопределено, ТипПодписи = "CMS", ПараметрыПодписания = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.ПроверитьПодпись(Подпись, Данные, ТипПодписи, ПараметрыПодписания);
ХешированиеДанных
Описание, пример вызова
// Выполняет расчет хеш-суммы по переданным данным.//// Параметры:// Данные - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла данных,// от которых необходимо посчитать хеш-сумму.// АлгоритмХеширования - Строка - константа из списка "GOST R 34.11-94", "GOST R 34.11-2012 256", "GOST R 34.11-2012 512".//// ПараметрыХеширования - Структура, ФиксированнаяСтруктура - позволяет указать дополнительные параметры хеширования.// * ИнвертироватьПолубайты - Булево - управляет инвертированием полубайт в значении хеш-суммы. Применяется только для "GOST R 34.11-94"// Например, прямой порядок - 62 FB, обратный - 26 BF.// Истина - значение по умолчанию.//// Возвращаемое значение:// ДвоичныеДанные - значение хеш-суммы.//Функция ХешированиеДанных(Данные, АлгоритмХеширования = "GOST R 34.11-94", ПараметрыХеширования = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.ХешированиеДанных(Данные, АлгоритмХеширования, ПараметрыХеширования);
ПроверитьСертификат
Описание, пример вызова
// Выполняет проверку сертификата.//// Параметры:// Сертификат - ДвоичныеДанные - файл сертификата.//// Возвращаемое значение:// Булево - если Истина, то сертификат действителен.//Функция ПроверитьСертификат(Сертификат) Экспорт
Пример вызова
Результат = СервисКриптографии.ПроверитьСертификат(Сертификат)
ПроверитьСертификатСПараметрами
Описание, пример вызова
// Выполняет проверку сертификата с дополнительными параметрами//// Параметры:// Сертификат - ДвоичныеДанные - файл сертификата.// ПараметрыПроверки - Структура - содержит дополнительные параметры проверки.// * РежимПроверкиСертификата - Строка - обрабатываются варианты "ИгнорироватьВремяДействия",// "ИгнорироватьДействительностьПодписи",// "ИгнорироватьПроверкуВСпискеОтозванныхСертификатов",// "РазрешитьТестовыеСертификаты"//// Возвращаемое значение:// Булево - если Истина, то сертификат действителен.//Функция ПроверитьСертификатСПараметрами(Сертификат, ПараметрыПроверки) Экспорт
Пример вызова
Результат = СервисКриптографии.ПроверитьСертификатСПараметрами(Сертификат, ПараметрыПроверки)
ПолучитьСвойстваСертификата
Описание, пример вызова
// Получает основные свойства переданного сертификата.//// Параметры:// Сертификат - ДвоичныеДанные - сертификат, свойства которого необходимо получить.//// Возвращаемое значение:// ФиксированнаяСтруктура - свойства сертификата:// * Версия - Строка - версия сертификата.// * ДатаНачала - Дата - дата начала действия сертификата (UTC).// * ДатаОкончания - Дата - дата окончания действия сертификата (UTC).// * Издатель - ФиксированнаяСтруктура - информация об издателе сертификата:// ** CN - Строка - commonName// ** O - Строка - organizationName;// ** OU - Строка - organizationUnitName;// ** C - Строка - countryName;// ** ST - Строка - stateOrProvinceName;// ** L - Строка - localityName;// ** E - Строка - emailAddress;// ** SN - Строка - surname;// ** GN - Строка - givenName;// ** T - Строка - title;// ** STREET - Строка - streetAddress;// ** OGRN - Строка - ОГРН;// ** OGRNIP - Строка - ОГРНИП;// ** INN - Строка - ИНН (не обязательный);// ** INNLE - Строка - ИНН ЮЛ (не обязательный);// ** SNILS - Строка - СНИЛС;// ...// * ИспользоватьДляПодписи - Булево - указывает, можно ли использовать данный сертификат для подписи.// * ИспользоватьДляШифрования - Булево - указывает, можно ли использовать данный сертификат для шифрования.// * ОткрытыйКлюч - ДвоичныеДанные - содержит данные открытого ключа.// * Отпечаток - ДвоичныеДанные - содержит данные отпечатка. Вычисляется динамически, по алгоритму SHA-1.// * РасширенныеСвойства - ФиксированнаяСтруктура - расширенные свойства сертификата:// ** EKU - ФиксированныйМассив из Произвольный - Enhanced Key Usage.// * СерийныйНомер - ДвоичныеДанные - серийный номер сертификата.// * Субъект - ФиксированнаяСтруктура - информацию о субъекте сертификата. Состав см. Издатель:// ** CN - Строка - commonName ...// * Сертификат - ДвоичныеДанные - файл сертификата в кодировке DER.// * Идентификатор - Строка - вычисляется по ключевым свойствам Издателя и серийному номеру по алгоритму SHA1.// Используется для идентификации сертификата в сервисе криптографии.//Функция ПолучитьСвойстваСертификата(Сертификат) Экспорт
Пример вызова
Результат = СервисКриптографии.ПолучитьСвойстваСертификата(Сертификат)
ПолучитьСертификатыИзПодписи
Описание, пример вызова
// Извлекает массив сертификатов из данных подписи.//// Параметры:// Подпись - ДвоичныеДанные - файл подписи.//// Возвращаемое значение:// Массив из ФиксированнаяСтруктура - со свойствами сертификатов:// * Издатель - ФиксированнаяСтруктура - информация об издателе сертификата:// ** CN - Строка - commonName;// ** O - Строка - organizationName;// ** OU - Строка - organizationUnitName;// ** C - Строка - countryName;// ** ST - Строка - stateOrProvinceName;// ** L - Строка - localityName;// ** E - Строка - emailAddress;// ** SN - Строка - surname;// ** GN - Строка - givenName;// ** T - Строка - title;// ** STREET - Строка - streetAddress;// ** OGRN - Строка - ОГРН;// ** OGRNIP - Строка - ОГРНИП;// ** INN - Строка - ИНН;// ** INNLE - Строка - ИНН ЮЛ (не обязательный);// ** SNILS - Строка - СНИЛС;// * СерийныйНомер - ДвоичныеДанные - серийный номер сертификата.// * Сертификат - ДвоичныеДанные - файл сертификата в кодировке DER.// * Идентификатор - Строка - вычисляется по ключевым свойствам Издателя и серийному номеру по алгоритму SHA1.// Используется для идентификации сертификата в сервисе криптографии.//Функция ПолучитьСертификатыИзПодписи(Подпись) Экспорт
Пример вызова
Результат = СервисКриптографии.ПолучитьСертификатыИзПодписи(Подпись)
ПолучитьСвойстваКриптосообщения
Описание, пример вызова
// Извлекает свойства из файла криптосообщения.//// Параметры:// Криптосообщение - ДвоичныеДанные, Строка - двоичные данные или адрес во временном хранилище файла криптосообщения.// ТолькоКлючевыеСвойства - Булево - если Истина, то Содержимое будет возвращаться всегда пустое.//// Возвращаемое значение:// Структура - свойства криптосообщения:// * Размер - Число - размер файла в байтах.// * Тип - Строка - указывает тип сообщения: envelopedData, signedData, unknown.// * Получатели - ФиксированныйМассив Из Структура - описание сертификатов получателей зашифрованного сообщения. Только для Тип="envelopedData":// ** Идентификатор - Строка - вычисляется по ключевым свойствам Издателя и серийному номеру по алгоритму SHA1,// остальные поля см. ПолучитьСвойстваСертификата.// * Подписанты - ФиксированныйМассив Из Структура - описание сертификатов получателей зашифрованного сообщения. Только для Тип="signedData":// ** Идентификатор - Строка - вычисляется по ключевым свойствам Издателя и серийному номеру по алгоритму SHA1.// остальные поля см. ПолучитьСвойстваСертификата.// * Содержимое - ДвоичныеДанные - содержимое криптосообщения.//Функция ПолучитьСвойстваКриптосообщения(Криптосообщение, ТолькоКлючевыеСвойства = Ложь) Экспорт
Пример вызова
Результат = СервисКриптографии.ПолучитьСвойстваКриптосообщения(Криптосообщение, ТолькоКлючевыеСвойства);
ПолучитьНастройкиПолученияВременныхПаролей
Описание, пример вызова
// Получает возможные способы доставки временных паролей.//// Параметры:// ИдентификаторСертификата - Строка - идентификатор сертификата, для которого необходимо получить способы доставки паролей.//// Возвращаемое значение:// Структура - содержит ключи:// * Телефон - Строка - замаскированное представление телефона для получения временных паролей в SMS.// * ЭлектроннаяПочта - Строка - замаскированное представление электронной почты для получения временных паролей в письмах.//Функция ПолучитьНастройкиПолученияВременныхПаролей(ИдентификаторСертификата) Экспорт
Пример вызова
Результат = СервисКриптографии.ПолучитьНастройкиПолученияВременныхПаролей(ИдентификаторСертификата)
ПолучитьВременныйПароль
Описание, пример вызова
// Запрашивает у сервиса криптографии отправку временного пароля.//// Параметры:// ИдентификаторСертификата - Строка - Идентификатора сертификата, для которого требуется временный пароль.// ПовторнаяОтправка - Булево - Истина, если запрос является повторным.// СпособДоставкиПаролей - Строка - Одно из значений: "phone" или "email".// ИдентификаторСессии - Строка - идентификатор сессии//// Возвращаемое значение:// Структура - содержит ключи:// * ЗадержкаПередПовторнойОтправкой - Число - Число секунд перед повторным запросом нового пароля.// * ВремяДействияПароля - Число - Число секунд, в течение которых действует высланный пароль.// * ИдентификаторСессии - Строка - если есть "session_id".//Функция ПолучитьВременныйПароль(ИдентификаторСертификата, ПовторнаяОтправка, СпособДоставкиПаролей, ИдентификаторСессии = Неопределено) Экспорт
Пример вызова
Результат = СервисКриптографии.ПолучитьВременныйПароль(ИдентификаторСертификата, ПовторнаяОтправка, СпособДоставкиПаролей, ИдентификаторСессии);
ПодтвердитьВременныйПароль
Описание, пример вызова
// Отправляет сервису криптографии ранее полученный временный пароль и запрашивает маркеры безопасности для него.//// Параметры:// ИдентификаторСертификата - Строка - Идентификатор сертификата, с помощью которого планируется подписание.// ВременныйПароль - Строка - Временный пароль, ранее присланный сервисом криптографии.//Процедура ПодтвердитьВременныйПароль(ИдентификаторСертификата, ВременныйПароль) Экспорт
Пример вызова
СервисКриптографии.ПодтвердитьВременныйПароль(ИдентификаторСертификата, ВременныйПароль)
МаркерыБезопасности
Описание, пример вызова
// Пытается получить ранее сохраненные маркеры безопасности: сессионный и долговременный//// Параметры:// ИдентификаторСертификата - Строка - Идентификатор сертификата, с помощью которого планируется подписание.// ИспользоватьДлительныйМаркерБезопасности - Булево - признак поиска долговременного токена.//// Возвращаемое значение:// Структура - маркер:// * МаркерБезопасности - Строка// * ДлительныйМаркерБезопасности - СтрокаФункция МаркерыБезопасности(ИдентификаторСертификата, ИспользоватьДлительныйМаркерБезопасности) Экспорт
Пример вызова
Результат = СервисКриптографии.МаркерыБезопасности(ИдентификаторСертификата, ИспользоватьДлительныйМаркерБезопасности)
© 2024, ООО 1С-Софт
Все права защищены. Эта программа и сопроводительные материалы предоставляются
в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0).