---
title: Универсальный обмен с банками служебный вызов сервера
slug: erp-uh/универсальный-обмен-с-банками-служебный-вызов-сервера
---


## ИзвлечьИнформациюОКриптопровайдереПоСертификату
<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

Функция ИзвлечьКриптопровайдер(Сертификат) Экспорт
```

Пример вызова
```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

// Возвращает отдельные свойства сертификата в формате X.509 в соответствие с https://tools.ietf.org/html/rfc5280.
//
// Параметры:
//   ДанныеСертификата - ДвоичныеДанные, Строка - файл (двоичные данные, адрес во временном хранилище или строка Base64
//                                                при Настройки.ЭтоСтрокаBase64 = Истина) в формате X.509.
//   Настройки - Неопределено - настройки по умолчанию.
//             - Структура:
//     ЭтоЭлектроннаяПодписьВМоделиСервиса - Булево - по умолчанию Истина, влияет на имя события при записи в журнал регистрации.
//     ЭтоСтрокаBase64                     - Булево - по умолчанию Ложь, при Истина ДанныеСертификата задает строку Base64.
//     ВозможенФорматBase64                - Булево - по умолчанию Ложь, при Истина двоичные данные в ДанныеСертификата
//                                                    могут быть в формате Base64, в том числе с заголовками сертификата,
//                                                    корректность чтения определяется по прочитанному алгоритму
//     ВозвращатьИсключения                - Булево - по умолчанию Истина, генерировать исключения при неверной структуре данных.
//
// Возвращаемое значение:
//   Структура - свойства криптосообщения.
//     Размер                  - Число - размер файла в байтах.
//     Версия                  - Число - версия формата сертификата, 0 - v1, 1 - v2, 2 - v3.
//     СерийныйНомер           - ДвоичныеДанные - серийный номер сертификата.
//     АлгоритмПубличногоКлюча - Строка - "GOST R 34.10-2001", "GOST R 34.10-2012-256", "GOST R 34.10-2012-512"
//                                        или OID нераспознанного алгоритма.
//
Функция ПолучитьСвойстваСертификата(Знач ДанныеСертификата, Настройки = Неопределено) Экспорт
```

Пример вызова
```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

// Возвращает свойства криптосообщения в формате PKCS #7 в соответствии с https://tools.ietf.org/html/rfc2315.
//
// Параметры:
//   Криптосообщение - ДвоичныеДанные, Строка - файл (двоичные данные, адрес во временном хранилище или строка Base64
//                                              при Настройки.ЭтоСтрокаBase64 = Истина) в формате PKCS #7.
//   Настройки - Неопределено - настройки по умолчанию.
//             - Структура:
//     ПрочитатьПодписанныеДанные          - Булево - по умолчанию Истина, для типа SignedData возвращать Содержимое.
//     ПрочитатьИздателяИСерийныйНомер     - Булево - по умолчанию Истина, для типа SignedData в Подписанты возвращать
//                                                    Идентификатор, Издатель, СерийныйНомер, Сертификат,
//                                                    для типа EnvelopedData в Получатели возвращать Идентификатор, Издатель,
//                                                    СерийныйНомер.
//     ПрочитатьАлгоритмПубличногоКлюча    - Булево - по умолчанию Ложь, для типа EnvelopedData в Получатели возвращать
//                                                    АлгоритмПубличногоКлюча.
//     ЭтоЭлектроннаяПодписьВМоделиСервиса - Булево - по умолчанию Истина, влияет на имя события при записи в журнал регистрации.
//     ЭтоСтрокаBase64                     - Булево - по умолчанию Ложь, при Истина Криптосообщение задает строку Base64.
//     ВозвращатьИсключения                - Булево - по умолчанию Истина, генерировать исключения при неверной структуре данных.
//
// Возвращаемое значение:
//   Структура - свойства криптосообщения.
//    Общие свойства:
//    * Тип - Строка - Unknown - файл неподдерживаемого формат, EnvelopedData - зашифрованные данные, SignedData - подпись.
//    * Размер - Число - размер файла в байтах.
//
//    Свойства для типа SignedData:
//    * Подписанты - Массив - подписанты сообщения.
//       ** Идентификатор - Строка - идентификатор сертификата
//       ** Издатель - Структура - издатель сертификата
//           *** <X1>.<X2>. ... .<XN>, где X<i> - это компонента идентификатора OID
//       ** СерийныйНомер - ДвоичныеДанные - серийный номер сертификата
//       ** Сертификат - ДвоичныеДанные - файл сертификата
//       ** АлгоритмХеширования - Строка - название алгоритма или OID нераспознанного алгоритма.
//       ** АлгоритмПодписи - Строка - "GOST R 34.10-2001", "GOST R 34.10-2012-256", "GOST R 34.10-2012-512"
//                                     или OID нераспознанного алгоритма.
//    * Сертификаты - Массив - файлы сертификатов.
//    * СпискиОтзываСертификатов - Массив - файлы списков отзыва сертификатов.
//    * Содержимое - ДвоичныеДанные - подписанные данные для прикрепленной подписи.
//
//    Свойства для типа EnvelopedData:
//    * Получатели - Массив - получатели зашифрованного сообщения.
//       ** Идентификатор - Строка - идентификатор сертификата
//       ** Издатель - Структура - издатель сертификата
//           *** OID<X1>_<X2>_..._<XN>, где X<i> - это компонента идентификатора OID
//       ** СерийныйНомер - ДвоичныеДанные - серийный номер сертификата
//       ** АлгоритмПубличногоКлюча - Строка - "GOST R 34.10-2001", "GOST R 34.10-2012-256", "GOST R 34.10-2012-512"
//                                             или OID нераспознанного алгоритма, возвращается при задании
//                                             Настройки.ПрочитатьАлгоритмПубличногоКлюча = Истина
//
Функция ПолучитьСвойстваКриптосообщения(Знач Криптосообщение, Настройки = Неопределено) Экспорт
```

Пример вызова
```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

Функция ПрочитатьДату(ЧтениеДанных, Свойства) Экспорт
```

Пример вызова
```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

Функция ПрочитатьДвоичныеДанные(ЧтениеДанных, Свойства) Экспорт
```

Пример вызова
```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

Функция ПрочитатьСтроку(ЧтениеДанных, Свойства) Экспорт
```

Пример вызова
```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

Функция ПрочитатьЦелоеЧисло(ЧтениеДанных, Свойства) Экспорт
```

Пример вызова
```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

Функция ПрочитатьОбъектныйИдентификатор(ЧтениеДанных, Свойства) Экспорт
```

Пример вызова
```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

Функция ПрочитатьСоставляющуюОбъектногоИдентификатора(Буфер, ТекущийБайт) Экспорт
```

Пример вызова
```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

Функция КлассТегаБлока(Байт) Экспорт
```

Пример вызова
```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

Функция ТегБлока(Байт) Экспорт
```

Пример вызова
```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

Функция ПрочитатьСвойстваБлока(ЧтениеДанных, РазмерДанных) Экспорт
```

Пример вызова
```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

Процедура ПропуститьБлок(ЧтениеДанных, СколькоБайт) Экспорт
```

Пример вызова
```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

Процедура ПропуститьДо(ЧтениеДанных, Граница) Экспорт
```

Пример вызова
```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

Функция ИдентификаторСертификата(Знач Сертификат) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ИдентификаторСертификата(Сертификат) 
```
</details>

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

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

```bsl

Функция ПрочитатьEnvelopedData(ЧтениеДанных, СвойстваКриптосообщения, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьEnvelopedData(ЧтениеДанных, СвойстваКриптосообщения, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьSignedData(ЧтениеДанных, СвойстваКриптосообщения, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьSignedData(ЧтениеДанных, СвойстваКриптосообщения, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьAlgorithmIdentifier(ЧтениеДанных, СвойстваКриптосообщения, Свойства = Неопределено, ПроверитьТип = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьAlgorithmIdentifier(ЧтениеДанных, СвойстваКриптосообщения, Свойства, ПроверитьТип);
```
</details>

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

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

```bsl

Функция ПрочитатьIssuerAndSerialNumber(ЧтениеДанных, СвойстваКриптосообщения, КонецБлока) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьIssuerAndSerialNumber(ЧтениеДанных, СвойстваКриптосообщения, КонецБлока));
```
</details>

## СоответствиеOIDИмя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

Функция СоответствиеOIDИмя() Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.СоответствиеOIDИмя());
```
</details>

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

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

```bsl

Функция ПрочитатьRecipientInfos(ЧтениеДанных, СвойстваКриптосообщения, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьRecipientInfos(ЧтениеДанных, СвойстваКриптосообщения, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьRecipientInfo(ЧтениеДанных, СвойстваКриптосообщения, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьRecipientInfo(ЧтениеДанных, СвойстваКриптосообщения, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьContentInfo(ЧтениеДанных, СвойстваКриптосообщения) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьContentInfo(ЧтениеДанных, СвойстваКриптосообщения));
```
</details>

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

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

```bsl

Функция ПрочитатьSignerInfos(ЧтениеДанных, СвойстваКриптосообщения, СвойстваНабора, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьSignerInfos(ЧтениеДанных, СвойстваКриптосообщения, СвойстваНабора, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьSignerInfo(ЧтениеДанных, СвойстваКриптосообщения, СертификатыСИдентификаторами, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьSignerInfo(ЧтениеДанных, СвойстваКриптосообщения, СертификатыСИдентификаторами, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьCertificates(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьCertificates(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока));
```
</details>

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

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

```bsl

Функция ПрочитатьCertificateRevocationLists(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьCertificateRevocationLists(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока));
```
</details>

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

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

```bsl

Функция ПрочитатьAuthenticatedAttributes(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока, Настройки) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьAuthenticatedAttributes(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока, Настройки));
```
</details>

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

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

```bsl

Функция ПрочитатьUnauthenticatedAttributes(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока) Экспорт
```

Пример вызова
```bsl
Результат = УниверсальныйОбменСБанкамиСлужебныйВызовСервера.ПрочитатьUnauthenticatedAttributes(ЧтениеДанных, СвойстваКриптосообщения, СвойстваБлока));
```
</details>

---

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

---
