---
title: Хранилище сертификатов
slug: bsp/хранилище-сертификатов
---


## Добавить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Добавляет сертификат в хранилище сертификатов.
//
// Параметры:
//   Сертификат - ДвоичныеДанные - файл сертификата.
//              - Строка - адрес файла сертификата во временном хранилище.
//   ТипХранилища - Строка, ПеречислениеСсылка.ТипХранилищаСертификатов - тип хранилища, в которое необходимо добавить сертификат.
//
Процедура Добавить(Сертификат, ТипХранилища) Экспорт
```

Пример вызова
```bsl
ХранилищеСертификатов.Добавить(Сертификат, ТипХранилища) 
```
</details>

## Получить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получает сертификаты из хранилища.
//
// Параметры:
//   ТипХранилища - Строка, ПеречислениеСсылка.ТипХранилищаСертификатов - тип хранилища, из которого необходимо получить
//                                                                сертификаты.
//                                                                Если не заполнено, то будут получены все сертификаты.
//
// Возвращаемое значение:
//	 Массив из ФиксированнаяСтруктура - свойства сертификатов:
//    * Версия - Строка - версия сертификата.
//    * ДатаНачала - Дата - дата начала действия сертификата.
//    * ДатаОкончания - Дата - дата окончания действия сертификата.
//    * Издатель - ФиксированнаяСтруктура - информация об издателе сертификата:
//        ** 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.
//                               Используется для идентификации сертификата в сервисе криптографии.
//
Функция Получить(ТипХранилища = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ХранилищеСертификатов.Получить(ТипХранилища);
```
</details>

## НайтиСертификат
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет поиска сертификата в хранилище.
//
// Параметры:
//   Сертификат - Структура - ключевые параметры сертификата, используемые для поиска:
//                            Отпечаток или пара СерийныйНомер и Издатель.
//     * Отпечаток - ДвоичныеДанные - отпечаток сертификат.
//                 - Строка - строковое представление отпечатка.
//     * СерийныйНомер - ДвоичныеДанные - серийный номер сертификата.
//                     - Строка - строковое представление серийного номера.
//     * Издатель - Структура - свойства издателя
//                - Строка - строковое представление издателя.
//
// Возвращаемое значение:
//   Неопределено, ФиксированнаяСтруктура - сертификат не найден или свойства найденного сертификата:
//    * Наименование - Строка - наименование сертификата.
//    * Версия - Строка - версия сертификата.
//    * ДатаНачала - Дата - дата начала действия сертификата.
//    * ДатаОкончания - Дата - дата окончания действия сертификата.
//    * Издатель - ФиксированнаяСтруктура - информация об издателе сертификата:
//        ** 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.
//                               Используется для идентификации сертификата в сервисе криптографии.
//
Функция НайтиСертификат(Сертификат) Экспорт
```

Пример вызова
```bsl
Результат = ХранилищеСертификатов.НайтиСертификат(Сертификат) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
