Спецификация форматов и порядок обмена данными в канале «Сбербанк Интеграция» (API). Версия 33.000 - часть 2

 

  Главная      Книги - Разные     Спецификация форматов и порядок обмена данными в канале «Сбербанк Интеграция» (API). Версия 33.000

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..      1      2      3      ..

 

 

 

Спецификация форматов и порядок обмена данными в канале «Сбербанк Интеграция» (API). Версия 33.000 - часть 2

 

 

Неверные настройки СМС
INCORRECT_SMS_SETTIN
Актуально
Fg==
16
аутентификации
GS
с версии 27
Актуально
Fw==
17
Сессия не найдена
SESSION_NOT_FOUND
с версии 27
Пользователь с указанными
NEED_TOKEN_TO_ACCES
Актуально
GA==
18
учетными данными должен
S
с версии 27
использовать токен
Ошибка валидации параметров
FRAUDMON_VALIDATE_E
Актуально
GQ==
19
ФРОД-мониторинга при
RROR
с версии 27
аутентификации
Для организации недоступна точка
INCORRECT_ACCESS_PO
Актуально
Gg==
входа «Банк-Клиентª
INT
с версии 27
Неверный формат значения
INVALID_SESSION_ID_FO
Актуально
Gw==
1B
идентификатора сессии sessionId
RMAT
с версии 27
У пользователя в настройках
ACCESS_POINT_UPG_SB
Добавлено
HA==
1C
отсутствует точка входа УПШ_СББ
B_NOT_AVAILABLE
в версии 30
Слишком частые попытки смены
TOO_FREQUENT_PASSW
Добавлено
HQ==
1D
пароля
ORD_CHANGE
в версии 30
Пример взаимодействия
<preLogin xmlns="http://upg.sbns.bssys.com/">
<userLogin>Shagov2</userLogin>
</preLogin>
<preLoginResponse xmlns="http://upg.sbns.bssys.com/">
<return>GaaZTOENmec1+g==</return>
<return>osrmO9xbma1Vl36v4EXYlsHhqwKvaDDLTVjyWy6Yj7g=</return>
<return>MTJkNTBlYzktZGE4ZS00ZTUxLWEwNTQtNDA4MWU1YTVjZmQw</return>
<return>AA==</return>
<return>TUFJTg==</return>
</preLoginResponse>
<sessionId>12d50ec9-da8e-4e51-a054-4081e5a5cfd0</sessionId>
<clientAuthData>r7UPyX8H+Y7TazD7CcEMbGpEwSc=</clientAuthData>
<clientAuthData>5RiY9Spf3ybNkBVRGL6ilrtBe09fHPDrf9DWpxd2isQ=</clientAuthData>
<fraudParams><?xml version="1.0" encoding="UTF-8" standalone="yes"?><FraudParams
Cx64%7Cru%7C01.005.00%26pm_fpsc%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2
C1%2C7601%2C17514%7Cwnt%3D6%2C1%2C7601%2C18952%7Cdht%3D11%2C0%2C9600%2C18059
%7Cie5%3D%7Cibe%3D11%2C0%2C9600%2C18059%7Cieh%3D11%2C0%2C9600%2C18059%7Ciee%
3D6%2C3%2C9600%2C18059%7Cwmp%3D12%2C0%2C7601%2C18840%7Cobp%3D11%2C0%2C9600
%2C18059%7Coex%3D6%2C1%2C7601%2C17514%7Cmvm%3D5%2C0%2C5000%2C0%7Cvbs%3D5%
2C6%2C0%2C8833%26pm_fptz%3D3%26pm_fpln%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru
%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_fpasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26
pm_fpol%3Dfalse%26pm_fposp%3D%26pm_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26p
m_fpsbd%3D%26pm_fpsdx%3D96%26pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_f
psfse%3Dfalse%26pm_fpsui%3D%26pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB
%26pm_inpt%3D%26pm_expt%3D</DevicePrint><ChannelIndicator>SBB</ChannelIndicator>
<IpMACAddresses>10.80.14.205;C0-3F-D5-E8-D6-
D8</IpMACAddresses><GeolocationInfo>;;;;4</GeolocationInfo><PcProp>AF13F2A8-
6628-11E4-AB0C-E32B38252300;178BFBFF00610F31;PC01MP2H;
WD-
WCC2E5CCA593</PcProp><TokenInfo>
BCRYPT;;;;;
</TokenInfo><HttpAcceptLanguage>ru-
RU</HttpAcceptLanguage></FraudParams></fraudParams>
</login>
<loginResponse xmlns="http://upg.sbns.bssys.com/">
<return></return>
<return>Ag==</return>
<return></return></loginResponse>
<preLogin xmlns="http://upg.sbns.bssys.com/">
<userLogin>Shagov2</userLogin>
</preLogin>
<preLoginResponse xmlns="http://upg.sbns.bssys.com/">
<return>GaaZTOENmec1+g==</return>
<return>9yGgRBJqBg73lx8lcJdICp15Mn18yYSvhyXKuNLu6og=</return>
<return>ZTQ0YzFjYWEtMDdlYy00YjMzLThmZTItYjY1NDI4NTYwODU0</return><return>AA==</
return>
</preLoginResponse>
<preChangePassword xmlns="http://upg.sbns.bssys.com/">
<sessionId>e44c1caa-07ec-4b33-8fe2-b65428560854</sessionId>
</preChangePassword>
<preChangePasswordResponse xmlns="http://upg.sbns.bssys.com/">
<return>mhocS0GHq+oM+w==</return>
</preChangePasswordResponse>
<changePassword xmlns="http://upg.sbns.bssys.com/">
<sessionId>e44c1caa-07ec-4b33-8fe2-b65428560854</sessionId>
<newPasswordData>x5fjYedN8X13wkT7KDU8D6c5BTY=</newPasswordData>
<newPasswordData>SKUqv925dnSYlak1ytNTArZbyALqEt3cDFC/FTv6WhM=</newPasswordDa
ta>
<newPasswordData>AZbvzAiX+H2HtjDK/UurqhXqIN4xdvEg5UlMbrIFl9k=</newPasswordData>
</changePassword>
<changePasswordResponse xmlns="http://upg.sbns.bssys.com/">
<return>AdmAFLrsEMsV9/Cms4XJr39M0dw=</return>
<return>AA==</return>
<return>ZTQ0YzFjYWEtMDdlYy00YjMzLThmZTItYjY1NDI4NTYwODU0</return></changePassw
ordResponse>
2.8.1.4. Аутентификация с использованием сертификата ЭП
В случае аутентификации пользователя с использованием сертификата ЭП
(электронной подписи), аутентификация считается успешной, если проверка ЭП
прошла успешно. Проверка ЭП должна происходить по тому же алгоритму, что и
проверка ЭП под клиентскими документами. Пользователь головной компании, в
структуре холдинга, для отправки/получения документов по дочерним зависимым
организациям холдинга и получения информации о них, должен проходить
аутентификацию по ЭП. Если для учетной записи Клиента установлен признак
обязательной смены пароля, то при аутентификации при помощи ЭП данный признак
не учитывается.
Возможность аутентификации недоступна в следующих случаях:
учетная запись заблокирована;
организация заблокирована;
проверка ЭП вернула отрицательный результат (например, сертификат
недействительный, срок действия сертификата истек, сертификат отозван и
т.п.).
Система блокирует учетную запись в случае неуспешной аутентификации три раза
подряд по причине, когда проверка ЭП вернула отрицательный результат.
Далее описаны методы, вызываемые при аутентификации с помощью сертификата
ЭП.
preLoginSign - Аутентификация УС в СББОЛ с использованием ЭП. При
вызове метода нужно передать в УПШ серийный номер сертификата и
информацию об издателе. В ответе preLoginSignResponse для УС будет
передан список массивов байт [null, соль, ID сессии, код возврата, режим
работы сервера]. Полученные значения закодированы в Base64. Режим работы
сервера может принимать значения TUFJTg==(MAIN) и
U1RBTkRJTjk5OTk=(STANDIN9999).
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
serial
Серийный номер сертификата
xs:string
[0..1]
Актуально с версии 27
issue
Издатель сертификата
xs:string
[0..1]
Актуально с версии 27
Исходящие параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
Список массивов байт [null,
return
соль, ID сессии, код возврата,
xs:base64Binary
[0..n]
Актуально с версии 27
режим работы сервера]
loginSign - Аутентификация УС в СББОЛ с использованием ЭП в формате
CMS. После получения в preLoginSignResponse трех строк, первая из которых
- null, вторая - соль, закодированная в Base64, третья - идентификатор сессии,
закодированный в Base64, необходимо соль декодировать из Base64 в
Windows-1251 и подписать, затем полученную ЭП закодировать в Base64.
Идентификатор сессии нужно перевести из Base64 в Hex. При вызове метода
передать в УПШ идентификатор сессии в Hex, ЭП под полученной строкой
случайных данных (первая строка (Соль) в ответе на вызов метода
preLoginSign), закодированную в Base64 и параметры fraud-мониторинга. В
ответе для УС будет передан идентификатор сессии и/или код возврата.
Входные параметры
Тип
Версионно
Параметр
Описание параметра
парамет
Мн.
сть
ра
1
sessionId
Актуально с
ID сессии
xs:string
[0..1]
версии 27
clientAuthData
2
ЭП под полученной строкой случайных данных
xs:base6
Актуально с
[0..1]
(первая строка (Соль) в ответе на вызов метода
4Binar
версии 27
preLoginSign), закодированная в Base64
3
FraudParams
Если на стороне Банка, в АС СББОЛ, в
настройках организации включен параметр
«ФРОД-мониторинг», то для корректного приема
Актуально с
документов УС Клиента должна передавать
xs:string
[0..1]
версии 27
параметры ФРОД-мониторинга в составе
элемента FraudParams.
Отпечаток устройства
3.1
DevicePrint
Правила формирования значения параметра
Актуально с
xs:string
[1]*
приведены в п. «Правила формирования
версии 27
значения параметра DevicePrint»
Индикатор канала
3.2
ChannelIndicator
Изменено в
xs:string
[1]*
версии 32
Значение = UPGCOMMON SBB
IP- и MAC-адрес должны передаваться через
IpMACAddresses
3.3
разделитель «;»
Например, клиент имеет 3 ip-адреса. Два
локальных и один внешний. Первым должен
передаваться внешний, затем локальные
адреса. За каждым адресом идет mac адрес.
Если MAC адрес определить нельзя, то
значение пропускается, разделитель
указывается.
Внешний ip = remoteIP
Внешний mac = remoteMac
Локальный 1 ip = ip1
Локальный 1 mac =mac1
Локальный 2 ip = ip2
Актуально с
Локальный 2 mac = mac2
xs:string
[1]*
версии 27
Должна получиться следующая строка:
remoteIP;remoteMac;ip1;mac1;ip2;mac2
В случае отсутствия какого-либо параметра
значение не вписывается, ставится
разделитель. (Аналогично формату csv).
Ip-адрес является локальным, если
принадлежит к одному из следующих
диапазонов:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
В остальных случаях ip-адрес считается
внешним.
Информация о геопозиции компьютера,
3.4
GeolocationInfo
осуществляющего установку сеанса связи.
Имеет следующие параметры:
Longitude
Latitude
HorizontalAccuracy
Timestamp
Status
Statusможет принимать следующие значения:
0=success. Геопозиция получена
1=deny. У пользователя отсутствуют права
получения геопозиции
2 = location status not available. Геопозиция не
доступна
Актуально с
3=locationstatustimeout. Ответ о геопозиции не
xs:string
[1]*
версии 27
получен из-за истечения таймаута
4=locationstatusnotsupported. Получение
геопозиции не поддерживается.
Параметры должны передаваться в виде строки
с разделителями «;».
Формат:
Longitude;Latitude;HorizontalAccuracy;Timestamp;
Status
Пример значения:
32.54148224;35.16385756;75;201110622102211;0
В случае отсутствия какого-либо параметра
значение не вписывается, ставится
разделитель. (Аналогично формату csv).
Уникальные свойства компьютера,
PcProp
3.5
осуществляющего установку сеанса связи.
Содержит следующие параметры:
UUID
Идентификатор процессора
Серийный номер BIOS
Серийный номер жесткого диска.
Передаваться должны в виде строки
Актуально с
xs:string
[1]*
версии 27
разделенной «;».
Формат следующий: «UUID; Идентификатор
процессора; Серийный номер BIOS; Серийный
номер жесткого диска».
В случае отсутствия какого либо параметра
значение не вписывается, ставится
разделитель. (Аналогично формату csv).
Данные токена
3.6
TokenInfo
Отображение в запросе (разделитель «;»):
BCRYPT;;;;;
Отображение в интерфейсе:
Тип токена: TOKEN
Возможные значения:
TOKEN - обычный токен,
TOKEN_BU - токен с кнопкой,
TOKEN_SC - токен с экраном
BCRYPT - ПАК ФПСУ-IP или токен ФПСУ-IP (в
этом случае остальную информацию о
Актуально с
xs:string
[1]*
версии 27
конфигурации не заполнять)
SMS - при подтверждении операций кодом СМС
(в этом случае остальную информацию о
конфигурации не заполнять)
Информация о конфигурации токена:
IС1_A10D0010L_C1_VT01KA02
Дата конфигурации: 2012-04-13 09:44:59.003
Серийный номер токена: 00041485B
Номер сборки токена: 100
Список поддерживаемых естественных языков/
3.7
HttpAcceptLangu
age
Указывается локализация ОС компьютера, на
котором установлен ТК
Актуально с
Пример значения параметра:
xs:string
[1]*
версии 27
для английской локализации в качестве
значения атрибута указывается - en-US,
для русской локализации указывается - ru-RU.
*Если нет технической возможности предоставить данные раздела фрод - мониторинга, то
поле можно передавать cо значением «null»
Исходящие параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
Строка случайных данных (null, sessionId
Актуально с
return
и/или код возврата, закодированный в
xs:base64Binar
[0..n]
версии 27
Base64)
Перечень кодов возвратов в методах preLoginSign и loginSign
Код
Код
возвр
Версионно
возвра
Описание
Название
ата в
сть
та в
HEX
Base64
Операция выполнена успешно
Актуально
AA==
00
SUCCESS
с версии 27
Сертификат не найден или не валидный
Актуально
AQ==
01
BAD_CREDENTIALS
или учетная запись заблокирована
с версии 27
Истек срок действия сертификата
CERTIFICATE_EXPIRE
Актуально
Aw==
03
D
с версии 27
Офис организации пользователя
Актуально
BA==
04
ORG_LOCKED
заблокирован
с версии 27
В аутентификации отказано ФРОД-
Актуально
BQ==
05
FRAUDMON_DENY
мониторингом
с версии 27
IP изменился
Актуально
Bg==
06
IP_CHANGED
с версии 27
Финансовый договор заблокирован
CONTRACT_FINANCIA
Актуально
Bw==
07
L_LOCKED
с версии 27
Ошибка доступа к серверу
SERVER_ACCESS_ERR
Актуально
CA==
08
OR
с версии 27
Неспецифицированная ошибка
Актуально
CQ==
09
UNSPECIFIED_ERROR
с версии 27
Слишком частая ошибка входа в систему
TOO_FREQUENT_LOGI
Актуально
Cg==
0A
N_FAILS
с версии 27
Учетная запись отключена
Актуально
Cw==
0B
ACCOUNT_DISABLED
с версии 27
Точка входа недоступна
ACCESS_POINT_NOT_
Актуально
DA==
0C
AVAILABLE
с версии 27
Ожидается заключение договора
CONTRACT_SUSPEND
Актуально
DQ==
0D
ED
с версии 27
Договор закрыт
CONTRACT_TERMINAT
Актуально
Dg==
0E
ED
с версии 27
Доступ закрыт настройками клиента
ACCESS_DENIED_BY_
Актуально
Dw==
0F
CLIENT_RULES
с версии 27
У пользователя в настройках отсутствует
ACCESS_POINT_UPG_
Актуально
EA==
10
точка входа УПШ
NOT_AVAILABLE
с версии 27
У пользователя в настройках отсутствует
ACCESS_POINT_UPG_
Актуально
EQ==
11
точка входа УПШ_Холдинг
HOLDING_NOT_AVAILA
с версии 27
BLE
Пользователь не найден по параметрам
CREDENTIALS_NOT_F
Актуально
Eg==
12
сертификата
OUND_BY_CERTIFICAT
с версии 27
E
Сессия не найдена
Актуально
Fw==
17
SESSION_NOT_FOUND
с версии 27
Ошибка валидации параметров ФРОД-
FRAUDMON_VALIDATE
Актуально
GQ==
19
мониторинга при аутентификации
_ERROR
с версии 27
Для организации недоступна точка входа
INCORRECT_ACCESS_
Актуально
Gg==
«Банк-Клиентª
POINT
с версии 27
Неверный формат значения
INVALID_SESSION_ID_
Актуально
Gw==
1B
идентификатора сессии sessionId
FORMAT
с версии 27
logout - Служит для завершения сеанса работы с активным идентификатором
сессии. При вызове метода нужно передать в УПШ sessionId. В ответе для УС
будет передан код возврата.
Перечень кодов возвратов в методе logout
Код возврата
Описание
Версионность
00000000-0000-0000-0000-000000000001
Неверный формат идентификатора
Актуально с версии 27
сессии
00000000-0000-0000-0000-000000000002
Неверный идентификатор сессии
Актуально с версии 27
00000000-0000-0000-0000-000000000000
Неспецифицированная ошибка
Актуально с версии 27
FAIL
Ошибка при обработке запроса на
Актуально с версии 27
сервере
PROCESSED
Операция выполнена успешно
Актуально с версии 27
sendPcHash - Служит для передачи свертки уникальных параметров
транспортного компьютера. При вызове метода нужно передать в УПШ
идентификатор сессии, полученный при успешной аутентификации (метод
login или loginSign) и свертку параметров транспортного компьютера.
Входные параметры
Параметр
Назначение
Тип параметра
Мн.
Версионность
sessionId
ID сессии
xs:string
[0..1]
Актуально с версии 27
Свертка параметров
pcHash
xs:string
[0..1]
Актуально с версии 27
транспортного компьютера
Перечень кодов возвратов в методе sendPcHash
Код возврата
Описание
Версионность
00000000-0000-0000-0000-000000000001
Неверный формат идентификатора
Актуально с версии 27
сессии
00000000-0000-0000-0000-000000000002
Неверный идентификатор сессии
Актуально с версии 27
00000000-0000-0000-0000-000000000000
Неспецифицированная ошибка
Актуально с версии 27
FAIL
Ошибка при обработке запроса на
Актуально с версии 27
сервере
PROCESSED
Запрос успешно обработан
Актуально с версии 27
Пример взаимодействия
Запрос
<preLoginSign xmlns="http://upg.sbns.bssys.com/">
<serial>7748329044A92765BCD1</serial>
<issue>CN=ПАО Сбербанк УЦ (ТЕСТ Q)</issue>
<senderKey>E9A7454CF63743F7140AA5395B88D1CC</senderKey>
</preLoginSign>
Ответ
<preLoginSignResponse xmlns="http://upg.sbns.bssys.com/">
<return/>
<return>89VQLNji+gaq3gwxThG3zXIm/kNTRiCNdBii/uZEO7k=</return>
<return>Njk0ZTM1YTQtZDliMy00NmQwLWIxOWItZGI3ZDExMGYwMTAy</return>
<return>AA==</return>
<return>TUFJTg==</return>
</preLoginSignResponse>
Запрос
<loginSign xmlns="http://upg.sbns.bssys.com/">
<sessionId>694e35a4-d9b3-46d0-b19b-db7d110f0102</sessionId>
<clientAuthData>MIIM+QYJKoZIhvcNAQcCoIIM6jCCDOYCAQExDjAMBggqhQMHAQECAgUAM
AsGCSqGSIb3DQEHAaCCCdIwggSxMIIEXqADAgECAgp3SDKQRKknZbzRMAoGCCqFAwcBAQMCMII
BazEbMBkGA1UECAwSNzcg0LMu0JzQvtGB0LrQstCwMRgwFgYDVQQHDA/Qsy7QnNC+0YHQutCy0L
AxGjAYBggqhQMDgQMBARIMMDA3NzA3MDgzODkzMSYwJAYDVQQJDB3Rg9C7LiDQktCw0LLQuNC
70L7QstCwLCDQtC4xOTEYMBYGBSqFA2QBEg0xMDI3NzAwMTMyMTk1MQswCQYDVQQGEwJSVTE
rMCkGA1UECgwi0J/QkNCeINCh0LHQtdGA0LHQsNC90LogKNCi0JXQodCiKTFDMEEGA1UECww60JT
QtdC/0LDRgNGC0LDQvNC10L3RgiDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LggKNCi0JXQodCiKTEyM
DAGA1UEAwwp0J/QkNCeINCh0LHQtdGA0LHQsNC90Log0KPQpiAo0KLQldCh0KIgUSkxITAfBgkqhkiG
9w0BCQEWEmNhc2JyZkBzYmVyYmFuay5ydTAeFw0xOTA1MTYxMjQwMDBaFw0yMjA1MTYxMjQxMD
FaMIIBRjEvMC0GA1UEAwwm0KLQtdGB0YLQvtCyINCi0LXRgdGCINCi0LXRgdGC0L7QstC40YcxFTAT
BgNVBAQMDNCi0LXRgdGC0L7QsjEiMCAGA1UEKgwZ0KLQtdGB0YIg0KLQtdGB0YLQvtCy0LjRhzELM
AkGA1UEBhMCUlUxcjBwBgNVBAoMadCe0LHRidC10YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40YfQtd
C90L3QvtC5INC+0YLQstC10YLRgdGC0LLQtdC90L3QvtGB0YLRjNGOICLQlNCg0JjQndCa0KEg0JzQk
NCh0KLQldCgIjEjMCEGA1UECwwa0J/QvtC00YDQsNC30LTQtdC70LXQvdC40LUxFTATBgNVBCEMD
NCi0LXRgdGC0LXRgDEbMBkGCSqGSIb3DQEJARYMdDEyM0B0MTIzLnJ1MG8wKAYIKoUDBwEBAQ
EwHAYHKoUDAgIjAgYIKoUDBwEBAgIGByqFAwICHwEDQwAEQMHpjYSmIdYq1ZAB6Gi4YsLrFEpALp
Gs8iZ5UcnmIc1xZXCTS78Ts1EFr5MV72JT4gqP38Xn3wILXi0lBn9RrgOjgfQwgfEwLQYFKoUDZG8EJA
wiVlBOLUtleS1UTFMg0LjRgdC/0L7Qu9C90LXQvdC40LUgMjAZBgcqhQMDewMFBA4MDFRMUzAwNjk
xNzU5QzATBgNVHSAEDDAKMAgGBiqFA2RxATAqBgcqhQMDewMBBB8MHUE4RjUwMENVc9Ci0LXR
gdGC0L7QsiDQoi4g0KIuMBQGByqFAwN7AwQECQYHKoUDA3sFBDAOBgNVHQ8BAf8EBAMCA/gwH
QYDVR0OBBYEFH6othzn7GfBJkWgBGYzVOHkkxO2MB8GA1UdIwQYMBaAFER+sfJUNI8vPMx8c81kE
7FatnguMAoGCCqFAwcBAQMCA0EAG2D7iowThekbsrx439S3VX5emuCCIjEjkJ8W89FRtY1/MG/rrQozn
8g60piiNQ1nubLr4b1Jr7Ie0E4uC2kJrjCCBRkwggTGoAMCAQICCnaOIJ3rDEcd/7IwCgYIKoUDBwEBAwI
wggF3MRswGQYDVQQIDBI3NyDQsy7QnNC+0YHQutCy0LAxGDAWBgNVBAcMD9CzLtCc0L7RgdC60
LLQsDEaMBgGCCqFAwOBAwEBEgwwMDc3MDcwODM4OTMxJjAkBgNVBAkMHdGD0LsuINCS0LDQs
tC40LvQvtCy0LAsINC0LjE5MRgwFgYFKoUDZAESDTEwMjc3MDAxMzIxOTUxCzAJBgNVBAYTAlJVMS
swKQYDVQQKDCLQn9CQ0J4g0KHQsdC10YDQsdCw0L3QuiAo0KLQldCh0KIpMUMwQQYDVQQLDDr
QlNC10L/QsNGA0YLQsNC80LXQvdGCINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCAo0KLQldCh0KIp
MT4wPAYDVQQDDDXQn9CQ0J4g0KHQsdC10YDQsdCw0L3QuiDQmtC+0YDQvdC10LLQvtC5ICjQotC
V0KHQoiBaKTEhMB8GCSqGSIb3DQEJARYSY2FzYnJmQHNiZXJiYW5rLnJ1MB4XDTE4MDkyODA4M
Dk1NVoXDTI0MDkyODA4MDk1NVowggFrMRswGQYDVQQIDBI3NyDQsy7QnNC+0YHQutCy0LAxGDA
WBgNVBAcMD9CzLtCc0L7RgdC60LLQsDEaMBgGCCqFAwOBAwEBEgwwMDc3MDcwODM4OTMxJjA
kBgNVBAkMHdGD0LsuINCS0LDQstC40LvQvtCy0LAsINC0LjE5MRgwFgYFKoUDZAESDTEwMjc3MDA
xMzIxOTUxCzAJBgNVBAYTAlJVMSswKQYDVQQKDCLQn9CQ0J4g0KHQsdC10YDQsdCw0L3QuiAo0
KLQldCh0KIpMUMwQQYDVQQLDDrQlNC10L/QsNGA0YLQsNC80LXQvdGCINCx0LXQt9C+0L/QsNGB
0L3QvtGB0YLQuCAo0KLQldCh0KIpMTIwMAYDVQQDDCnQn9CQ0J4g0KHQsdC10YDQsdCw0L3QuiD
Qo9CmICjQotCV0KHQoiBRKTEhMB8GCSqGSIb3DQEJARYSY2FzYnJmQHNiZXJiYW5rLnJ1MG8wKA
YIKoUDBwEBAQEwHAYHKoUDAgIjAgYIKoUDBwEBAgIGByqFAwICHwEDQwAEQIZzhciSXPjiaFlE1kqj
BmQvRFPe79c034lM2y1iaWx52Dhh2c8GHrQw977z5YpZiGjXe1yWGAKzMfv0HJ4CfQ2jggEqMIIBJjAdB
gNVHQ4EFgQURH6x8lQ0jy88zHxzzWQTsVq2eC4wHwYDVR0jBBgwFoAU+7gKtEUeoqUI30YnhHMLm
YYelAwwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL3d3dy5zYmVyYmFuay5ydS9jYS9CVUMyNTA5ay
5jcmwwNQYFKoUDZG8ELAwq0JHQuNC60YDQuNC/0YIgNS4wINC40YHQv9C+0LvQvdC10L3QuNC1I
DEwMDkGByqFAwN7AwEELgwsMDBDQTAzNTBx0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCT0J7Qod
CiIDIwMTIwDwYDVR0TAQH/BAUwAwEB/zAYBgNVHSUEETAPBgRVHSUABgcqhQMDewUBMA4GA1
UdDwEB/wQEAwIBxjAKBggqhQMHAQEDAgNBAC5RkQPklspBBXdHfnfAL3//jiDxZFbTK9Bwzbme2XkY
NaD7fkCIrk2M1eJuxAyIESxkwBzhjD/zQOLNRCfi74YxggLsMIIC6AIBATCCAXswggFrMRswGQYDVQQI
DBI3NyDQsy7QnNC+0YHQutCy0LAxGDAWBgNVBAcMD9CzLtCc0L7RgdC60LLQsDEaMBgGCCqFAw
OBAwEBEgwwMDc3MDcwODM4OTMxJjAkBgNVBAkMHdGD0LsuINCS0LDQstC40LvQvtCy0LAsINC0Lj
E5MRgwFgYFKoUDZAESDTEwMjc3MDAxMzIxOTUxCzAJBgNVBAYTAlJVMSswKQYDVQQKDCLQn9
CQ0J4g0KHQsdC10YDQsdCw0L3QuiAo0KLQldCh0KIpMUMwQQYDVQQLDDrQlNC10L/QsNGA0YLQs
NC80LXQvdGCINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCAo0KLQldCh0KIpMTIwMAYDVQQDDCnQ
n9CQ0J4g0KHQsdC10YDQsdCw0L3QuiDQo9CmICjQotCV0KHQoiBRKTEhMB8GCSqGSIb3DQEJARY
SY2FzYnJmQHNiZXJiYW5rLnJ1Agp3SDKQRKknZbzRMAwGCCqFAwcBAQICBQCgggEGMBEGCisGA
QQB5zoFAgUxAwIBATATBgorBgEEAec6BQIHMQUCA4IDNjAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNA
QcBMBsGCisGAQQB5zoFAgExDQYLKwYBBAHnOgUCAQEwGwYKKwYBBAHnOgUCAjENBgsrBgEEA
ec6BQICATAbBgorBgEEAec6BQIDMQ0GCysGAQQB5zoFAgMBMBwGCSqGSIb3DQEJBTEPFw0xOTA
2MjUxMjUxNTJaMBwGCisGAQQB5zoFAgQxDgwMVExTMDA2OTE3NTlDMC8GCSqGSIb3DQEJBDEiB
CC6uHAjK8fPDb61nN7GpD6zYer/wHZ64ic4l+x4Y9Y91DAKBggqhQMHAQEBAQRAMNxu9pMSGhX9IL
xQU5jKkmjf/Eg9TUECr5PVL0yY4V4O4Ov/XhhpN/tJMT8tMn6Q1zNgA+raCEbjp0CqdNy9TQ==</clientAu
thData>
<fraudParams><?xml version="1.0" encoding="UTF-8" standalone="yes"?><FraudParams
%7Cx64%7Cru%7C01.016.04%26pm_fpsc%3D32%7C1920%7C1080%7C1920%26pm_fpsw%3Dabk%
3D6%2C1%2C7601%2C17514%7Cwnt%3D6%2C1%2C7601%2C24440%7Cdht%3D11%2C0%2C9600
%2C19356%7Cie5%3D%7Cibe%3D11%2C0%2C9600%2C19356%7Cieh%3D11%2C0%2C9600%2C19
356%7Ciee%3D6%2C3%2C9600%2C19356%7Cshw%3D%7Cwmp%3D12%2C0%2C7601%2C24435%
7Cobp%3D11%2C0%2C9600%2C19356%7Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6
%2C0%2C8833%26pm_fptz%3D3%26pm_fpln%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%
26pm_fpjv%3D0%26pm_fpco%3D0%26pm_fpasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%2
6pm_fpol%3Dfalse%26pm_fposp%3D%26pm_fpup%3D%26pm_fpsaw%3D1920%26pm_fpspd%3D32%
26pm_fpsbd%3D%26pm_fpsdx%3D96%26pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%
26pm_fpsfse%3Dfalse%26pm_fpsui%3D%26pm_os%3DWindows%26pm_brmjv%3D01.016.04%26pm_
br%3DSBB%26pm_inpt%3D%26pm_expt%3D</DevicePrint><ChannelIndicator>SBB</Chan
nelIndicator><IpMACAddresses>10.17.131.248;8C-89-A5-3D-DD-
48</IpMACAddresses><GeolocationInfo>;;;;4</GeolocationInfo><PcProp>EB319498-
F34E-11E0-849C-
08B6DAA42500;BFEBFBFF000206A7;R8VN9E2;FI72T005210102O2N</PcProp><TokenInfo>
TOKEN;IC0_T32S0000L_C1_VT505NT5;11:52:45
17.02.2017;TLS00691759C;22;1</TokenInfo><HttpAcceptLanguage>ru-
RU</HttpAcceptLanguage></FraudParams></fraudParams>
</loginSign>
Ответ
<loginSignResponse xmlns="http://upg.sbns.bssys.com/">
<return/>
<return>AA==</return>
<return>Njk0ZTM1YTQtZDliMy00NmQwLWIxOWItZGI3ZDExMGYwMTAy</return>
</loginSignResponse>
Запрос
<sendPcHash xmlns="http://upg.sbns.bssys.com/">
<sessionId>e33e1647-64bc-4b36-a548-fd3e19b82063</sessionId>
<pcHash>BA182EB2681B7A6A7CFACFBD7D1FBB538CC35E4D8A6D3CEE3C39664B01E3F0
6A47CB4FEEA9DDC3E7DDB7137F68816C202B81EA2A44715949656F744F54A8AD79</pcHash>
</sendPcHash>
Ответ
<sendPcHashResponse xmlns="http://upg.sbns.bssys.com/">
<return>PROCESSED</return>
</sendPcHashResponse>
2.8.1.5. Правила формирования значения параметра DevicePrint
DevicePrint - отпечаток устройства - заполняется строкой вида: Поле=<значение>&
(в конце строки & не указывается) в кодировке HTML URL Encoding Reference. Строка
должна содержать поля, перечисленные в таблице ниже. Каждый параметр должен
разделяться с помощью &.
Название
Описание параметра и алгоритм заполнения для учетной
Версионность
поля
системы клиента
version
Версия скрипта (текущая 3.4.1.0_1)
Актуально с
версии 27
pm_fpua
Разрядность ОС варианты (Win32 или Win64) + | + Константа “0» +
| + разрядность процессора + | + язык приложения + | + Версия
Актуально с
билда Системы ДБО
версии 27
Пример заполнения «Win32|0|x86|ru|20130702.GPB 015.6.41.2»
pm_fpsc
Глубина цвета монитора (бит) + | + Ширина монитора + | + Высота
Актуально с
монитора + | + Ширина рабочего стола
версии 27
Пример заполнения: «32|1920|1080|1080»
pm_fpsw
Перечисление версии компонент установленных в Windows (при
наличии).
Определяются по реестру -
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active
Setup\Installed Components\
Значения определяются по GUID’у:
abk = 7790769C-0471-11D2-AF11-00C04FA35D02
wnt = 89820200-ECBD-11CF-8B85-00AA005B4340
aol = 47F67D00-9E55-11D1-BAEF-00C04FC2D130
arb = 76C19B38-F0C8-11CF-87CC-0020AFEECF20
chs = 76C19B34-F0C8-11CF-87CC-0020AFEECF20
cht = 76C19B33-F0C8-11CF-87CC-0020AFEECF20
dht = 9381D8F2-0288-11D0-9501-00AA00B911A5
dhj = 4F216970-C90C-11D1-B5C7-0000F8051515
Актуально с
dan = 283807B5-2C60-11D0-A31D-00AA00B92C03
версии 27
dsh = 44BBA848-CC51-11CF-AAFA-00AA00B6015C
heb = 76C19B36-F0C8-11CF-87CC-0020AFEECF20
ie5 = 89820200-ECBD-11CF-8B85-00AA005B4383
icw = 5A8D6EE0-3E18-11D0-821E-444553540000
ibe = 630B1DA0-B465-11D1-9948-00C04F98BBC9
iec = 08B0E5C0-4FCB-11CF-AAA5-00401C608555
ieh = 45EA75A0-A269-11D1-B5BF-0000F8051515
iee = DE5AED00-A4BF-11D1-9948-00C04F98BBC9
jap = 76C19B30-F0C8-11CF-87CC-0020AFEECF20
krn = 76C19B31-F0C8-11CF-87CC-0020AFEECF20
lan = 76C19B50-F0C8-11CF-87CC-0020AFEECF20
swf = D27CDB6E-AE6D-11CF-96B8-444553540000
Название
Описание параметра и алгоритм заполнения для учетной
Версионность
поля
системы клиента
shw = 2A202491-F00D-11CF-87CC-0020AFEECF20
msn = 5945C046-LE7D-LLDL-BC44-00C04FD912BE
wmp = 22D6F312-B0F6-11D0-94AB-0080C74C7E95
obp = 3AF36230-A269-11D1-B5BF-0000F8051515
oex = 44BBA840-CC51-11CF-AAFA-00AA00B6015C
net = 44BBA842-CC51-11CF-AAFA-00AA00B6015B
pan = 76C19B32-F0C8-11CF-87CC-0020AFEECF20
thi = 76C19B35-F0C8-11CF-87CC-0020AFEECF20
tks = CC2A9BA0-3BDD-11D0-821E-444553540000
uni = 3BF42070-B3B1-11D1-B5C5-0000F8051515
vtc = 10072CEC-8CC1-11D1-986E-00A0C955B42F
vnm = 76C19B37-F0C8-11CF-87CC-0020AFEECF20
mvm = 08B0E5C0-4FCB-11CF-AAA5-00401C608500
vbs = 4F645220-306D-11D2-995D-00C04F98BBC9
wfd = 73FA19D0-2D75-11D2-995D-00C04F98BBC9
Пример заполнения:
«abk=6,1,7601,17514|wnt=6,1,7601,18103|dht=9,0,8112,16421|ie5=9,
0,8112,16421|ieh=9,0,8112,16421|iee=6,1,7601,16978|wmp=12,0,760
1,17514|obp=9,0,8112,16421|oex=6,1,7601,17514»
pm_fptz
Возвращает смещение часового пояса клиента
Определяться в зависимости временной зоны, которая
Актуально с
установлена на компьютере клиента.
версии 27
Например, для Москвы значение «4»
pm_fpln
Язык приложения + Язык системы + Язык пользователя,
Актуально с
установленный в системе
версии 27
Пример заполнения: «lang=ru|syslang=ru|userlang=ru»
pm_fpjv
Константа «0»
Актуально с
версии 27
pm_fpco
Константа «0»
Актуально с
версии 27
pm_fpasw
«Пустой» параметр
Актуально с
версии 27
pm_fpan
Константа «SBB»
Актуально с
версии 27
pm_fpacn
Константа «SBB»
Актуально с
версии 27
pm_fpol
Возвращает «true», если клиент в настоящее время подключен к
Актуально с
интернету (находится в режиме on-line), и «false», если отключен
версии 27
(off-line).
pm_fposp
«Пустой» параметр
Актуально с
версии 27
pm_fpup
«Пустой» параметр
Актуально с
Название
Описание параметра и алгоритм заполнения для учетной
Версионность
поля
системы клиента
версии 27
pm_fpsaw
Значение ширины монитора
Актуально с
версии 27
pm_fpspd
Значение глубины цвета (бит)
Актуально с
версии 27
pm_fpsbd
«Пустой» параметр
Актуально с
версии 27
pm_fpsdx
Значение плотность пикселя
Актуально с
версии 27
pm_fpsdy
Значение плотность пикселя
Актуально с
версии 27
pm_fpslx
Значение плотность пикселя
Актуально с
версии 27
pm_fpsly
Значение плотность пикселя
Актуально с
версии 27
pm_fpsfse
Свойство возвращает «true», если пользователем включено
Актуально с
сглаживание шрифтов при отображении их на экране, и «false» - в
версии 27
противном случае
pm_fpsui
«Пустой» параметр
Актуально с
версии 27
pm_os
Константа «Windows»
Актуально с
версии 27
pm_brmjv
Номер версии системы
Актуально с
версии 27
pm_br
Константа «SBB»
Актуально с
версии 27
pm_inpt
Время отклика при пинге с внутреннего IP
Актуально с
версии 27
pm_expt
Время отклика при пинге с внешнего IP
Актуально с
версии 27
Пример значения параметра:
version%3D3%2E4%2E1%2E0%5F1%26pm%5Ffpua%3Dmozilla%2F5%2E0%20%28wind
ows%20nt%206%2E1%3B%20rv%3A19%2E0%29%20gecko%2F20100101%20firefox%2F
19%2E0%7C5%2E0%20%28Windows%29%7CWin32%26pm%5Ffpsc%3D24%7C1600%7
C900%7C860%26pm%5Ffpsw%3D%7Cpdf%7Cpdf%26pm%5Ffptz%3D4%26pm%5Ffpln
%3Dlang%3Dru%2DRU%7Csyslang%3D%7Cuserlang%3D%26pm%5Ffpjv%3D1%26pm%
5Ffpco%3D1%26pm%5Ffpasw%3Dnpjp2%7Cnpdeployjava1%7Cnpgoogleupdate3%7Cnp
swf32%5F12%5F0%5F0%5F77%7Cnpctrl%7Cnppdf32%7Cnppdf32%7Cnpcsuser%7Cnps
pwrap%7Cnpauthz%26pm%5Ffpan%3DNetscape%26pm%5Ffpacn%3DMozilla%26pm%5
Ffpol%3Dtrue%26pm%5Ffposp%3D%26pm%5Ffpup%3D%26pm%5Ffpsaw%3D1600%26
pm%5Ffpspd%3D24%26pm%5Ffpsbd%3D%26pm%5Ffpsdx%3D%26pm%5Ffpsdy%3D%
26pm%5Ffpslx%3D%26pm%5Ffpsly%3D%26pm%5Ffpsfse%3D%26pm%5Ffpsui%3D%26
pm%5Fos%3DWindows%26pm%5Fbrmjv%3D19%26pm%5Fbr%3DFirefox%26pm%5Finpt
%3D%26pm%5Fexpt%3D
2.8.1.6. Расчет свертки пароля
Свертка пароля рассчитывается на базе алгоритма SRP. Общее описание данного
алгоритма можно посмотреть по ссылке https://tools.ietf.org/html/rfc2945 . Ниже
приведены примеры значений используемых констант и расчета параметров.
N = 115b8b692e0e045692cf280b436735c77a5a9e8a9e7ed56c965f87db5b2a2ece3
g = 02
k = dbe5dfe0704fee4c85ff106ecd38117d33bcfe50
a — случайное 256-битное число
s — соль , значение полученное от сервера
Hp — хэш пароля. Hp = H(“логин:пароль”), где H — криптографическая хеш-
функция SHA-1. Используется кодировка Windows-1251
A = g^a mod N — это значение потом передается на сервер
B — параметр, значение полученное от сервера
x = H(s, Hp)
u
— параметр, который вычисляется из A и B. u
= H(A, B)
Если длина А или B меньше длины N в байтах (длина N 33 байт), то в хеш-
функцию передаются дополнительно нулевые значения. Так, например, если
размер A — 30 байт, а размер B —31 байт, то u =H(00, 00, 00, A, 00, 00, B).
Base
= B
- k
((g^x) mod N), если Base получилось отрицательное,
то Base = k*N + B - k * ((g^x) mod N)
S = (Base^(a + u*x )) mod N
K = H(S) — это значение потом передается на сервер.
ДОПОЛНИТЕЛЬНЫЕ ОСОБЕННОСТИ
 При указании значений через запятую, например, H(00, 00, 00, A, 00, 00, B),
вычисления производятся от результата, полученного конкатенацией, т.е.
H(000000A0000B)
 Для работы с большими числами и для вычисления хеш-значений SHA-1
(дайджестов) удобно использовать библиотеку LibEay32.dll из проекта
OpenSSL.
Пример расчета свертки пароля
1) Входные данные:
Имя пользователя - mkssssss
Пароль - 123456
Признак смены пароля - false либо нет признака
2) Нужно вызвать метод preLogin для пользователя 'mkssssss' со значением
признака смены пароля false:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<soapenv:Header/>
<soapenv:Body>
<upg:preLogin>
<upg:userLogin>mkssssss</upg:userLogin>
<upg:changePassword>false</upg:changePassword>
</upg:preLogin>
</soapenv:Body>
</soapenv:Envelope>
В ответе preLoginResponse вернутся
5 строк
(пять значений
<return>),
закодированные в Base64, в соответствующем порядке следования:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<preLoginResponse xmlns="http://upg.sbns.bssys.com/">
<return>Dn2R3Gw112VF4Q==</return>
<return>TogIjOWMBHS6wxhXQCO7HrXgvruAt1sEGcH4i86JxlI=</return>
<return>MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5</return>
<return>AA==</return>
<return>TUFJTg==</return>
</preLoginResponse>
</soap:Body>
</soap:Envelope>
s (соль)
 Dn2R3Gw112VF4Q==
B
 TogIjOWMBHS6wxhXQCO7HrXgvruAt1sEGcH4i86JxlI=
ID
 MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5
сессии
Код
 AA==
ошибки
Режим
 TUFJTg==
работы
сервера
3) Если вернулся нулевой код ошибки (‘AA==’ после декодирования дает нулевой
байт), можно продолжить авторизацию. Произведем расчет свертки пароля
(желтым цветом отмечены параметры, которые затем будут переданы в УПШ,
но в формате Base64):
В таблице для удобства восприятия значения указаны в формате HEX.
N
константа
0115B8B692E0E045692CF280B436735C77A5A9E8A9E
7ED56C965F87DB5B2A2ECE3
g
константа
02
k
константа
DBE5DFE0704FEE4C85FF106ECD38117D33BCFE50
a
случайное
256-
CE0B4F33828102594F80C8D695D4BB5D957F0C24DC
битное число
299323C3C7F6C419028E31
s
соль, получена от
0E7D91DC6C35D76545E1
сервера УПШ
Hp
H(‘mkssssss:123456’)
B6314CC2D09EFC661454162AF3708BE948A7CF6A
A
g^a mod N
CEA1B6838B8B18819EC624867098AC4F847529F5E1B
E44E790B6299814765134
B
получена
от
4E88088CE58C0474BAC318574023BB1EB5E0BEBB8
сервера УПШ
0B75B0419C1F88BCE89C652
x
H(s, Hp)
D41706751E3966A5F2343DC4A63D894345818161
u
H(00, A, 00, B), т.к. A
63B4C35951AB5EBF4D173965D962DE2AE4FD0884
и B содержат по
32 байта, а в N —
33 байта
Base
B - k * ((g^x) mod N)
-3BED967A0D442BAFF880CB69B6AB7A451A22F128C
6F9EF612D8E0DC34D5FBFF02171FE2EEA5562987AC
566F99AEFB55BE2C2FA4E,
получилось
отрицательное — пересчитаем по другой формуле
Base
k*N + B - k * ((g^x)
B2A0CED04D00111C906127B6C432C08087A76DABC0
mod N)
108A69CF798459DB142FB4AF5A03C84B06DE5277
1FE61EF7683D57C6E446A2
S
(Base^(a + u*x )) mod
690FF4B5B1B3201A0B7CDD4428C63D4972F916199C
N
4857D4B356D2503D955874
K
H(S)
A7BAE522AF5FF33A2C1C57C411EB9C08BD2D5429
4) После расчета свертки, следует вызвать метод login и передать в него
следующие значения:
 ID сессии ‘215c2a8e-3b57-4a1e-af7e-5c912436ae09’ (получено декодированием
из Base64 строки
‘MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5’, ранее
полученная из УПШ).
 Массив (M1) из двух строк, содержащий значения K и А (именно в такой
последовательности), закодированные в Base64:
K
p7rlIq9f8zosHFfEEeucCL0tVCk=
A
zqG2g4uLGIGexiSGcJisT4R1KfXhvkTnkLYpmBR2UTQ=
 fraudParams — пустая строка (только в рамках данного примера
демонстрирующего пример рассчета свертки пароля)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<soapenv:Header/>
<soapenv:Body>
<upg:login>
<upg:sessionId>215c2a8e-3b57-4a1e-af7e-5c912436ae09</upg:sessionId>
<upg:clientAuthData>p7rlIq9f8zosHFfEEeucCL0tVCk=</upg:clientAuthData>
<upg:clientAuthData>zqG2g4uLGIGexiSGcJisT4R1KfXhvkTnkLYpmBR2UTQ=</upg:clientAuthData>
</upg:login>
</soapenv:Body>
</soapenv:Envelope>
В ответе loginResponse вернется массив, значения которого закодированы в
Base64:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<loginResponse xmlns="http://upg.sbns.bssys.com/">
<return>pXLj+ZOXBWJdc8L+rIipfa0jdPI=</return>
<return>AA==</return>
<return>MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5</return>
</loginResponse>
</soap:Body>
</soap:Envelope>
M2
pXLj+ZOXBWJdc8L+rIipfa0jdPI=
Код ошибки
AA==
ID сессии
MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5
Если код ошибки нулевой
(‘AA==’ после декодирования дает нулевой байт)
-
авторизация пройдена успешно.
ВАЖНО!!!
Кодирование результирующих значений (К и А) в Base64 производится ОДИН РАЗ.
При получении свертки необходимо убедиться в отсутствии лишних символов в
результате, таких как «00» перед началом строки.
2.8.1.7. Расчет свертки нового пароля при смене пароля
Свертка пароля рассчитывается на базе алгоритма SRP. Общее описание данного
алгоритма можно посмотреть по ссылке https://tools.ietf.org/html/rfc2945 . Ниже
приведены примеры значений используемых констант и расчета параметров.
N = 115b8b692e0e045692cf280b436735c77a5a9e8a9e7ed56c965f87db5b2a2ece3
g = 02
k = dbe5dfe0704fee4c85ff106ecd38117d33bcfe50
a — случайное 256-битное число
s — соль , значение полученное от сервера
Hp — хэш пароля. Hp = H(“логин:пароль”), где H — криптографическая хеш-
функция SHA-1. Используется кодировка Windows-1251
A = g^a mod N — это значение потом передается на сервер
B — параметр, значение полученное от сервера
x = H(s, Hp)
u
— параметр, который вычисляется из A и B. u
= H(A, B)
Если длина А или B меньше длины N в байтах (длина N 33 байт), то в хеш-
функцию передаются дополнительно нулевые значения. Так, например, если
размер A — 30 байт, а размер B —31 байт, то u =H(00, 00, 00, A, 00, 00, B).
Base
= B
- k
((g^x) mod N), если Base получилось отрицательное,
то Base = k*N + B - k * ((g^x) mod N)
S = (Base^(a + u*x )) mod N
K = H(S) — это значение потом передается на сервер
Hpnew = H(”логин:новый пароль”)
Xnew = H(Snew, Hpnew)
Vnew = g^Xnew mod N — верификатор нового пароля, значение которого
передается на сервер УПШ при вызове метода changePassword
ДОПОЛНИТЕЛЬНЫЕ ОСОБЕННОСТИ
 При указании значений через запятую, например, H(00, 00, 00, A, 00, 00, B),
вычисления производятся от результата, полученного конкатенацией, т.е.
H(000000A0000B)
 Для работы с большими числами и для вычисления хеш-значений SHA-1
(дайджестов) удобно использовать библиотеку LibEay32.dll из проекта
OpenSSL.
Пример расчета свертки нового пароля
1) Входные данные:
Имя пользователя - mkssssss
Пароль - 123456
Новый пароль - 654321
Признак смены пароля - true(для получения новой соли в ответе от УПШ на
метод preLogin) либо признак false или нет признака (для получения новой
соли потребуется вызов метода preChangePassword)
2) Нужно вызвать метод preLogin для пользователя 'mkssssss' со значением
признака смены пароля true:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<soapenv:Header/>
<soapenv:Body>
<upg:preLogin>
<upg:userLogin>mkssssss</upg:userLogin>
<upg:changePassword>true</upg:changePassword>
</upg:preLogin>
</soapenv:Body>
</soapenv:Envelope>
В ответе preLoginResponse вернутся
6 строк
(шесть значений
<return>),
закодированные в Base64, в соответствующем порядке следования:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<preLoginResponse xmlns="http://upg.sbns.bssys.com/">
<return>Dn2R3Gw112VF4Q==</return>
<return>TogIjOWMBHS6wxhXQCO7HrXgvruAt1sEGcH4i86JxlI=</return>
<return>MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5</return>
<return>AA==</return>
<return>cTfQA68NxuU3sQ==</return>
<return>TUFJTg==</return>
</preLoginResponse>
</soap:Body>
</soap:Envelope>
s (соль)
 Dn2R3Gw112VF4Q==
B
 TogIjOWMBHS6wxhXQCO7HrXgvruAt1sEGcH4i86JxlI=
ID сессии
 MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5
Код ошибки
 AA==
Snew(новая
 cTfQA68NxuU3sQ==
соль)
Режим
работы
 TUFJTg==
сервера
3) Если в методе preLogin признак смены пароля не был передан или было
указано значение false, необходимо вызвать метод preChangePassword и
передать значение ID сессии, полученное в ответе preLoginResponse,
предварительно декодировав его из Base64:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<soapenv:Header/>
<soapenv:Body>
<upg:preChangePassword>
<upg:sessionId>215c2a8e-3b57-4a1e-af7e-5c912436ae09</upg:sessionId>
</upg:preChangePassword>
</soapenv:Body>
</soapenv:Envelope>
В ответе preChangePasswordResponse вернется Snew(новая соль):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<preChangePasswordResponse xmlns="http://upg.sbns.bssys.com/">
<return>cTfQA68NxuU3sQ==</return>
</preChangePasswordResponse>
</soap:Body>
</soap:Envelope>
Snew(новая
 cTfQA68NxuU3sQ==
соль)
4) Если вернулся нулевой код ошибки (‘AA==’ после декодирования дает нулевой
байт), можно продолжить авторизацию.
Произведем расчет свертки пароля (желтым цветом отмечены параметры, которые
затем будут переданы в УПШ, но в формате Base64):
В таблице для удобства восприятия значения указаны в формате HEX.
N
константа
0115B8B692E0E045692CF280B436735C77A5A9E8A9E
7ED56C965F87DB5B2A2ECE3
g
константа
02
k
константа
DBE5DFE0704FEE4C85FF106ECD38117D33BCFE50
a
случайное
256-
CE0B4F33828102594F80C8D695D4BB5D957F0C24DC
битное число
299323C3C7F6C419028E31
s
соль, получена от
0E7D91DC6C35D76545E1
сервера УПШ
Hp
H(‘mkssssss:123456’)
B6314CC2D09EFC661454162AF3708BE948A7CF6A
A
g^a mod N
CEA1B6838B8B18819EC624867098AC4F847529F5E1B
E44E790B6299814765134
B
получена
от
4E88088CE58C0474BAC318574023BB1EB5E0BEBB8
сервера УПШ
0B75B0419C1F88BCE89C652
x
H(s, Hp)
D41706751E3966A5F2343DC4A63D894345818161
u
H(00, A, 00, B), т.к. A
63B4C35951AB5EBF4D173965D962DE2AE4FD0884
и B содержат по
32 байта, а в N —
33 байта
Base
B - k * ((g^x) mod N)
-3BED967A0D442BAFF880CB69B6AB7A451A22F128C
6F9EF612D8E0DC34D5FBFF02171FE2EEA5562987AC
566F99AEFB55BE2C2FA4E,
получилось
отрицательное — пересчитаем по другой формуле
Base
k*N + B - k * ((g^x)
B2A0CED04D00111C906127B6C432C08087A76DABC0
mod N)
108A69CF798459DB142FB4AF5A03C84B06DE5277
1FE61EF7683D57C6E446A2
S
(Base^(a + u*x )) mod
690FF4B5B1B3201A0B7CDD4428C63D4972F916199C
N
4857D4B356D2503D955874
K
H(S)
A7BAE522AF5FF33A2C1C57C411EB9C08BD2D5429
Snew
Новая
7137D003AF0DC6E537B1
соль, получена
от сервера УПШ
Hpnew
H(‘mkssssss:654321’)
20CEA7EB938504DDBCE043238E4E5FE965EEB126
Xnew
H(snew, Hpnew)
2F26AE9A1668AED7F61C50E62BCD9EB55194E52D
vnew
g^xnew mod N
8CD23930F9A51E2BF9B945C9CA5D72CBF8A3B074D0
DE04D3078293BDD42F2998
5) После расчета следует вызвать метод changePassword и передать в него
следующие значения:
 ID сессии ‘215c2a8e-3b57-4a1e-af7e-5c912436ae09’ (получено декодированием
из Base64 строки
‘MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5’, ранее
полученная из УПШ).
 Массив (M1) из трех строк, содержащий значения K, А и Vnew (именно в такой
последовательности), закодированные в Base64:
K
p7rlIq9f8zosHFfEEeucCL0tVCk=
A
zqG2g4uLGIGexiSGcJisT4R1KfXhvkTnkLYpmBR2UTQ=
Vnew
jNI5MPmlHiv5uUXJyl1yy/ijsHTQ3gTTB4KTvdQvKZg=
 fraudParams — пустая строка (только в рамках данного примера
демонстрирующего пример рассчета свертки пароля)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<soapenv:Header/>
<soapenv:Body>
<upg:changePassword>
<upg:sessionId>215c2a8e-3b57-4a1e-af7e-5c912436ae09</upg:sessionId>
<upg:newPasswordData>p7rlIq9f8zosHFfEEeucCL0tVCk=</upg:newPasswordData>
<upg:newPasswordData>zqG2g4uLGIGexiSGcJisT4R1KfXhvkTnkLYpmBR2UTQ=</upg:newPasswordData>
<upg:newPasswordData>jNI5MPmlHiv5uUXJyl1yy/ijsHTQ3gTTB4KTvdQvKZg=</upg:newPasswordData>
</upg:changePassword>
</soapenv:Body>
</soapenv:Envelope>
В ответе changePasswordResponse вернется массив, значения которого
закодированы в Base64:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<changePasswordResponse xmlns="http://upg.sbns.bssys.com/">
<return>pXLj+ZOXBWJdc8L+rIipfa0jdPI=</return>
<return>AA==</return>
<return>MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5</return>
</changePasswordResponse>
</soap:Body>
</soap:Envelope>
M2
pXLj+ZOXBWJdc8L+rIipfa0jdPI=
Код ошибки
AA==
ID сессии
MjE1YzJhOGUtM2I1Ny00YTFlLWFmN2UtNWM5MTI0MzZhZTA5
Если код ошибки нулевой (‘AA==’ после декодирования дает нулевой байт) - пароль
изменен успешно.
ВАЖНО!!!
Кодирование результирующих значений (К, А, Vnew) в Base64 производится ОДИН
РАЗ.
При получении свертки необходимо убедиться в отсутствии лишних символов в
результате, таких как «00» перед началом строки.
2.8.2. Работа с электронной подписью
ВАЖНО!!!
C 01.01.2020 прекращается использование ГОСТ 2001
Операции формирования и проверки электронной подписи при работе с УПШ должны
выполняться клиентом самостоятельно и с использованием алгоритмов и
параметров, описанных в RFC 4357, 4490 и документах, на которые они ссылаются.
Формирование ЭП:
1. Из документа формируется строковая последовательность (ключевой буфер или
дайджест), включающая все значимые данные документа, поля, содержащие
пустые значения, не включаются (состав полей дайджеста описан в основной
части API); по указанным данным вычисляется хеш значение по стандарту ГОСТ
34.11-94 с параметрами GostR3411-94-CryptoProParamSet .
2. Полученное значение подписывается по стандарту ГОСТ
34.10-2001 с
параметрами GostR3410-2001-CryptoPro-B-ParamSet;
3.
64 байта, полученные в результате шага 2 и представленные в виде, описанном в
пункте 3.1 RFC 4490, и есть сформированная электронная подпись.
При использовании утилит КриптоПро порядок байт подписи инвертированный -
соответствует порядку байт в CMS (как в CSP функции CryptSignMessage), но не
соответствует формату утилит КриптоПро по умолчанию (как в CSP функции
CryptSignHash).
Проверка ЭП:
1. Из документа формируется строковая последовательность (ключевой буфер или
дайджест), включающая все значимые данные документа, поля, содержащие
пустые значения, не включаются.
2. Затем от дайджеста вычисляется хеш по стандарту ГОСТ 34.11-94 с параметрами
GostR3411-94-CryptoProParamSet.
3. Переданное значение ЭП с помощью ключа проверки ЭП преобразуется
алгоритмом ГОСТ
34.10-2001 с параметрами GostR3410-2001-CryptoPro-B-
ParamSet в исходное значение хеш-функции. Полученное значение хеш-функции
сравнивается со значением, полученным в п.2
Примечание
Формирование и проверка ЭП по ГОСТ 2012 происходит схожим образом, но с
использованием параметров ГОСТ 2012, сама подпись формируется в формате CMS
Важно!
Документ или запрос, отправляемый в СББОЛ, может быть подписан следующими
наборами подписей:
1. Одна (единственная) подпись;
2. Первая и вторая подпись;
3. Первая или вторая подпись.
При этом подписант, обладающий полномочием единственной подписи, не может
«сочетаться» с подписантом, владеющим первой или второй подписью.
Очерёдность наложения ЭП при наложении первои и второй подписей не имеет
значения.
Тип подписи указывается в настройках криптопрофиля пользователя, когда
пользователя Клиента создают на стороне Банка.
При создании запроса на сертификат в самом запросе указывать тип подписи не
нужно, но при получении Клиентом сертификата в УС Клиента необходимо выставить
тип подписи такой же, как в СББОЛ.
Контроль права доступа для наложения ЭП пользователями должен осуществляться
в УС Клиента.
Один подписант может обладать либо правом первой подписи, либо правом второй
подписи, либо правом единственной подписи.
Пример подписи по ГОСТ 2001:
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>76B6A1F4FBA17FA81428</SN>
<Value>VH2zlIqbrDSL8nzCTaRdzRPLyP2+XqVxYrGLtFAvGGkxgN8K/feGjzG8EOGpFBSKx/8Y398Wcpku5GRn
9F8+Rg==</Value>
<Order>0</Order>
<SignDate>2019-03-07T09:42:36</SignDate>
</Sign>
Пример подписи по ГОСТ 2012:
<Sign>
<Issuer>CN=ПАО Сбербанк УЦ (ТЕСТ Q)</Issuer>
<SN>7723245618483DD53DF8</SN>
<Value>MIINFwYJKoZIhvcNAQcCoIINCDCCDQQCAQExDjAMBggqhQMHAQECAgUAMAsGCSqGSIb3DQEHAa
CCCfAwggTYMIIEhaADAgECAgp3IyRWGEg91T34MAoGCCqFAwcBAQMCMIIBazEbMBkGA1UECAwSNzcg0LMu0JzQv
tGB0LrQstCwMRgwFgYDVQQHDA/Qsy7QnNC+0YHQutCy0LAxGjAYBggqhQMDgQMBARIMMDA3NzA3MDgzODkzM
SYwJAYDVQQJDB3Rg9C7LiDQktCw0LLQuNC70L7QstCwLCDQtC4xOTEYMBYGBSqFA2QBEg0xMDI3NzAwMTMyMTk
1MQswCQYDVQQGEwJSVTErMCkGA1UECgwi0J/QkNCeINCh0LHQtdGA0LHQsNC90LogKNCi0JXQodCiKTFDMEEGA1
UECww60JTQtdC/0LDRgNGC0LDQvNC10L3RgiDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LggKNCi0JXQodCiKTEyMDAGA
1UEAwwp0J/QkNCeINCh0LHQtdGA0LHQsNC90Log0KPQpiAo0KLQldCh0KIgUSkxITAfBgkqhkiG9w0BCQEW
EmNhc2JyZkBzYmVyYmFuay5ydTAeFw0xOTAzMDYwOTA0MDBaFw0yMjAzMDYwOTA1MjRaMIIBWTFD
MEEGA1UEAww60JfQsNC/0LvRg9GC0LDQvdC+0LIg0JDQvdC00YDQtdC5INCS0LvQsNC00LjQvNC40YDQvt
Cy0LjRhzEdMBsGA1UEBAwU0JfQsNC/0LvRg9GC0LDQvdC+0LIxLjAsBgNVBCoMJdCQ0L3QtNGA0LXQuSDQ
ktC70LDQtNC40LzQuNGA0L7QstC40YcxCzAJBgNVBAYTAlJVMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx
QDA+BgNVBAoMN9Ce0J7QniAi0J7RgtC60YDRi9GC0YvQuSDQnNC40YAt0J7QsdGA0LDQt9C+0LLQsNC90L
jQtSIxDzANBgNVBAsMBtCf0KHQmDEVMBMGA1UEDAwM0JPQntCh0KIyMDEyMRowGAYIKoUDA4EDAQE
SDDAwNzcwMjIyMTMxNzEZMBcGCSqGSIb3DQEJARYKMTIzQDEyMy5ydTBvMCgGCCqFAwcBAQEBMBwG
ByqFAwICIwIGCCqFAwcBAQICBgcqhQMCAh8BA0MABEDD/b8mzAEC9LI9GZQOfV840mhPgakWemMXN8
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</Valu
e>
<Order>0</Order>
<SignDate>2019-03-07T09:43:15</SignDate>
</Sign>
2.8.3.Общие правила формирования дайджестов и сообщений
2.8.3.1. Дайджест
При отправке сообщения со стороны УС Клиента на сторону Банка или со стороны
Банка на сторону УС Клиента предъявляются требования - должно ли оно быть
подписано отправителем. В случае необходимости подписания сообщения - должен
быть сформирован дайджест.
Дайджест - перечень подписываемых полей сообщения, передаваемого со стороны
Банка в УС или наоборот, и их значения.
Дайджест имеет текстовый формат, поэтому в значении полей могут быть переданы
любые символы. Значение поля в дайджесте должно совпадать со значением поля в
XML-сообщении, за исключением ситуаций, когда в дайджесте специально оговорен
иной формат значения поля. Кроме того, при наличии в мультистроковых значений
полей последовательности из двух символов перевода строки CR+LF (ASCII 0x0D
0x0A) необходимо удалять символ возврата каретки CR (ASCII 0x0D) и оставлять
только символ подачи строки LF (ASCII 0x0A). Поля, содержащие пустые значения, не
включаются в дайджест.
Примечание
В XML-сообщении могут содержаться символьные последовательности, являющиеся
зарезервированными сущностями в XML
(<>&'"). Для
включения в дайджест, такие последовательности должны быть преобразованы в
служебные символы (<,>,&,‘,“), если не указано обратного.
Последовательность полей дайджеста должна строго соответствовать описанному
формату в таблице «Формат дайджеста» (описано в Документации для каждого типа
запроса и ответа).
В дайджесте может быть:
Имя поля=<значение> - если значение присутствует в XML запросе/ответе
 отсутствует строка с именем поля - если значение отсутствует в XML
запросе/ответе
2.8.3.2. Формат сообщений
При взаимодействии Банка и УС Клиента через канал УПШ используется
разработанный формат для обмена сообщениями:
 Сообщения со стороны УС Клиента в Банк формируются в формате
Request.xsd
 Сообщения со стороны Банка в УС формируются в формате
Response.xsd
В форматах обмена для каждого атрибута/элемента указывается тип,
обязательность, минимальная и максимальная длина значения текстового
поля/атрибута, допустимые значения. При получении сообщения выполняется
контроль корректности сообщения в рамках валидации (значения переданных полей
проверяются согласно формату xsd).
Сообщения передаются в формате xml, в котором последовательность тегов и
атрибутов должна соответствовать описанным форматам взаимодействия, в случае
иной последовательности - сообщение не проходит валидацию.
Для передачи значения атрибутов/элементов в сообщении формата xml могут быть
использованы апострофы и двойные кавычки (УПШ умеет принимать и обрабатывать
успешно оба варианта).
2.8.4. Обмен криптографическими документами
2.8.4.1. Запрос на выпуск нового сертификата
Документ доступен только для учетных записей с типом криптографии
«Инфокрипт»(Response/OrganizationsInfo/OrganizationInfo/SignDevices/SignDevice/
CryptoTypeName=’Инфокрипт’)
Важно!!!
Версионность по запросу на сертификат не поддерживается, при разработке
данного функциоанала, необходимо использовать последнюю версию
спецификации.
2.8.4.1.1. Дайджест
Подпись документа на стороне УС: нет
Дайджест: не формируется
2.8.4.1.2. Формат взаимодействия
Взаимодействие: Документ передается из УС в СББОЛ
Инициатор получения справочника: УС
Формат передачи документа на сторону СББОЛ: Request/CertifRequest
Формат предоставления ответа
(квитанции) об исполнении документа со
стороны СББОЛ: Response/Tickets
2.8.4.1.2.1. Формат отправки документов в СББОЛ
Request/CertifRequest
Описание
Версионнос
Элемент
Описание элемента
Тип
Мн.
типа
ть
Request
Запрос УС к СББОЛ
Request
Актуально с
[1]
версии 27
Уникальный идентификатор
UUID
с
1
@requestId
UuidSeparat
запроса
разделител
ed
ями в виде
дефисов.
Актуально с
[1]
Набор из 32
версии 27
символов
[0-9],
[a-f] и
дефисов
UUID
с
2
@orgId
Идентификатор организации в
UuidSeparat
разделител
ДБО
(может
быть
ed
ями в виде
использован
сторонней
дефисов.
Актуально с
системой
для
[1]
Набор из 32
версии 27
дополнительной
символов
идентификации)
[0-9],
[a-f] и
дефисов
Простой тип
3
@version
Номер версии формата
xs:string
XML
Актуально с
обмена
RegEx: "[0-
[1]
Schema
версии 27
9\.]{1,20}"
Простой тип
4
@sender
Система-отправитель
xs:string
XML
RegEx: «[-a-
Schema
Актуально с
zA-Zа-яА-
[1]
версии 27
Я0-9:
_]{1,20}»
Простой тип
5
@receiver
Система-получатель.
Если
xs:string
XML
система получатель СББОЛ,
RegEx: «[-a-
Schema
Актуально с
то SBBOL_DBO
zA-Zа-яА-
[0..1]
версии 27
Я0-9:
_]{1,20}»
Простой тип
6
@protocolVersion
Версия протокола
xs:string
[0..1]
Изменено в
XML
версии 32
Версионность по запросу
Schema
на
сертификат
не
поддерживается,
при
разработке
данного
функциоанала, необходимо
использовать последнюю
версию спецификации.
7
CertifRequest
Запрос на выпуск нового
CertifReque
Актуально с
[1]
сертификата
st
версии 27
Простой тип
*.1
@requestId
Идентификатор запроса на
xs:string
XML
сертификат
для
Актуально с
Schema
[1]
идентификации запроса при
версии 27
загрузке сертификата из УЦ
Простой тип
*.2
@docDate
Дата составления документа
xs:date
Актуально с
XML
[1]
версии 27
Schema
Простой тип
*.3
@docNum
Номер документа
xs:string
Актуально с
XML
[1]
[max: 6]
версии 27
Schema
Простой тип
*.4
@idCrypto
Уникальный идентификатор
xs:string
XML
средства
подписи.
Schema
Соответствует
значению
UUID
с
Response/OrganizationsInfo/Or
разделител
ganizationInfo/SignDevices/Sig
Изменено в
ями в виде
[1]
nDevice/SignDeviceId
версии 29
дефисов.
Набор из 32
символов
[0-9],
[a-f] и
дефисов
UUID
с
*.5
@docExtId
UuidSeparat
Уникальный* идентификатор
разделител
ed
документа в учетной системе
ями в виде
(УС) Клиента.
дефисов.
Актуально с
[1]
Набор из 32
версии 27
*Уникальность
символов
контролируется на стороне
[0-9],
[a-f] и
клиента
дефисов
Простой тип
*.6
@sentForSign
0
- обычная передача на
BoolType
XML
выполнение
Актуально с
Schema
[0..1]
1 - передано для подписания
версии 27
в ИК
Простой тип
*.7
@containerName
НЕ УКАЗЫВАЕТСЯ ДЛЯ ПАК
xs:string
XML
ФПСУ И ФПСУ-IP\Клиент
Schema
Ссылка на закрытый ключ
Актуально с
[0..1]
(Серийный номер устройства
версии 27
VPNKey-TLS/номер PIN - от 1
до 5)
Простой тип
*.8
@cryptoAlgorithmStanda
Стандарт
алгоритма
xs:string
rd
формирования и проверки
XML
ЭЦП
Schema
Возможные
значения:
GOST_2012
GOST_2001
Добавлено в
(Если не указан явно, то
[0..1]
версии 31
используется
значение
GOST_2001)
ВАЖНО указывать значение
GOST_2012, т.к.
с
01.01.2020
прекращен
выпуск сертификатов по
ГОСТ 2001
Простой тип
*.9
CommonName
ФИО
-
фамилия, имя и
xs:string
отчество
уполномоченного
XML
лица клиента
Schema
Должно
передаваться
значение
из
Response/OrganizationsInfo/Or
Изменено в
ganizationInfo/SignDevices/Sig
[1]
версии 29
nDevice/ProfileName
Response/OrganizationsInfo/Or
ganizationInfo/AuthPersons/Aut
hPerson/FIO
для
соответствующего
пользователя.
Простой тип
*.10
Organization
Краткое
наименование
xs:string
организации
XML
Schema
Подставить
значение из
поля Response/OrganizationsI
Актуально с
[0..1]
nfo/OrganizationInfo/OrgData/S
версии 27
hortName,
служебные
символы
заменить
на
соответствующие коды
Простой тип
*.11
OrganizationUnit
Наименование
xs:string
подразделения банка, где
XML
заключен
контракт
с
Schema
организацией.
Должно
Актуально с
передаваться
значение
[1]
версии 27
Response/OrganizationsInfo/Or
ganizationInfo/Branches/Branch
/SystemName из первого
Branch
Простой тип
*.12
Locality
Город местонахождения ЮЛ
xs:string
XML
Актуально с
[1]
версии 27
Schema
Простой тип
*.13
Country
Страна. Должен передаваться
xs:string [2]
XML
Актуально с
2-х символьный код страны из
[1]
версии 27
справочника стран. RU
Schema
Простой тип
*.14
Email
Электронная почта
xs:string
XML
Актуально с
[1]
версии 27
Schema
Простой тип
*.15
Position
Должность физического лица.
xs:string
XML
Должно
передаваться
[min: 1, max:
значение
из
255]
Schema
Response/OrganizationsInfo/Or
Актуально с
[1]
ganizationInfo/SignDevices/Sig
версии 27
nDevice/Post
для
соответствующего
пользователя.
Множество
*.16
Params
Дополнительные параметры.
Params
параметров
Передается
при
произвольн
использовании TLS токена:
ого вида
Актуально с
tokenId
-
идентификатор
[0..1]
версии 27
токена
tokenTlsVersion
-
версия
прошивки токена
*.1
Param
Параметр
Param
Отдельный
параметр
Актуально с
[1..n]
произвольн
версии 27
ого вида
*.1
@name
Название параметра
xs:string
Простой тип
[min:
1,
XML
Актуально с
[1]
max: 255]
версии 27
Schema
*.2
@value
Значение параметра
xs:string
Простой тип
Актуально с
[min: 1, max:
XML
[1]
версии 27
255]
Schema
*.17
Docs
Содержит данные одного
клиентского
документа
Актуально с
[1]
"Запрос
на
новый
версии 27
сертификат"
*.1
Doc
Содержит данные одного
запроса
сертификата,
которые создаются в рамках
Актуально с
одного клиентского запроса
[1..n]
версии 27
(запрос сертификата для
подписи/запрос сертификата
TLS и т.д.)
Тип запроса, передается
*.1
@type
xs:string
Простой тип
константа:
«sign»
-
для
XML
запроса сертификата
для
Schema
подписи, «tls» - для запроса
Актуально с
[1]
версии 27
сертификата
tls..
При
необходимости список может
быть расширен.
Отдельное вложение
*.2
Attachment
(Запрос
на
новый
Актуально с
[1]
сертификат,
в
формате
версии 27
PKCS#10)
Имя файла вложения
*.1
Attachment
xs:string
Простой тип
[0..1]
Изменено в
Name
[min: 1, max:
XML
[1]
версии 32
64]
Schema
Пользовательское описание
*.2
Description
xs:string
Простой тип
Актуально с
файла вложения
[min: 1, max:
XML
[0..1]
версии 27
1024]
Schema
В бинарном представлении в
*.3
Body
xs:base64Bi
Простой тип
сжатом и несжатом виде
nary
XML
(Запрос на новый сертификат
Schema
CSR в кодировке base64,
данные
по
владельцу
Актуально с
[1]
версии 27
сертификата и организации
должны быть идентичны
данным,
указанным
в
основном запросе)
*.3
Params
Дополнительные параметры.
Params
Множество
ОБЯЗАТЕЛЬНО
параметров
произвольн
ДОБАВЛЕНИЕ ПАРАМЕТРА
ого вида
bicryptId, его
@value должно
соответствовать
значению
идентификатора Бикрипт в
[0..1]
Изменено в
запросе
PKCS#10(см.
[1]
версии 29
таблица
«Сведения
о
владельце
и
атрибутах
сертификата»)
Параметр
*.1
Param
Param
Отдельный
параметр
Актуально с
[1..n]
произвольн
версии 27
ого вида
Название параметра
*.1
@name
xs:string
Простой тип
Актуально с
[min: 1, max:
XML
[1]
версии 27
255]
Schema
Значение параметра
*.2
@value
xs:string
Простой тип
Актуально с
[min: 1, max:
XML
[1]
версии 27
255]
Schema
Пример по ГОСТ 2001:
<Request orgId='8b8b38fa-c399-4e9e-ac77-1721556b709c' version='0.1' requestId='4a1cddc4-34af-
4383-8b0c-356d48a2278f' xmlns='http://bssys.com/upg/request' sender='Ромашка'>
<CertifRequest
requestId='1e4dfbbd-500f-414a-9bc1-70ee230dfc8b'
docDate='2014-03-11'
docNum='07' idCrypto='b6be4bb8-7f94-4645-a8c5-dfd3c54c225b' docExtId='90432b06-9a96-4f19-aed1-
3145ab7ebc9c'>
<CommonName>Иванов Иван Иванович</CommonName>
<Organization>ООО Иванов</Organization>
<OrganizationUnit>Тестовое подразделение</OrganizationUnit>
<Locality>Московия</Locality>
<Country>RU</Country>
<Email>elposhta@mail.ru</Email>
<Position>Тестировщик</Position>
<Docs>
<Doc type='sign'>
<Attachment>
<AttachmentName>V2QL0020sИванов.p10</AttachmentName>
<Body>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0NCk1JSUIxekNDQVlZ
Q0FRQXdnYk14SERBYUJnTlZCQW9NRTlDZTBKN1FuaURRbU5DeTBMRFF2ZEMrMExJeEN6QUoNC
kJnTlZCQVlNQWxKVk1TOHdMUVlEVlFRRERDYlFtTkN5MExEUXZkQyswTElnMEpqUXN0Q3cwTDBnM
EpqUXN0Q3cNCjBMM1F2dEN5MExqUmh6RTBNRElHQTFVRUN3d3IwS0xRdGRHQjBZTFF2dEN5ME
w3UXRTRFF2OUMrMExUUmdOQ3cNCjBMZlF0TkMxMEx2UXRkQzkwTGpRdFRFZk1CMEdBMVVFRE
F3VzBLTFF0ZEdCMFlMUXVOR0EwTDdRc3RHSjBMalENCnVqQmpNQndHQmlxRkF3SUNFekFTQmdj
cWhRTUNBaU1DQmdjcWhRTUNBaDRCQTBNQUJFQ295TXRYTzRjeTluYnQNClducmNkZEhKKzlKbE
w2bVpaUkNMVGVjcm5tWDVaYUNSRzEwQWpvM2E2Y2N2dmRrVnhYdVZsdXBVSlNnbCtBUkINClJnM
3pxZmxib0dZd1pBWUpLb1pJaHZjTkFRa09NVmN3VlRBT0JnTlZIUThCQWY4RUJBTUNCUEF3Q1FZRF
ZSMFQNCkJBSXdBREFpQmdjcWhRTURld01CQkJjTUZWWXlVVXd3TURJd2M5Q1kwTExRc05DOTBM
N1FzakFVQmdjcWhRTUQNCmV3TUVCQWtHQnlxRkF3TjdCUVF3Q0FZR0tvVURBZ0lEQTBFQUFINUF
0KzFleWZmNUlnWjQ5dzZwOWtJU2RaNEkNCjRNdG5WVGNVZllVOGVaSVNJcXQ3MmVwbFBkcVY0b
HAzMGMvNmsvczQrTFdYNzdEODM1M2hLQlNEenc9PQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkV
RVUVTVC0tLS0t</Body>
</Attachment>
<Params>
<Param name='bicryptId' value='V2QL0020sИванов'/>
</Params>
</Doc>
</Docs>
</CertifRequest>
</Request>
Пример по ГОСТ 2012:
<Request
orgId='ea54da8f-8225-4f06-a53f-6f9a19531fe3'
requestId='e6cc5179-6f6e-46af-80f0-a60f76304ffe'
version='01.016.04'
sender='Ромашка'
receiver='SBBOL_DBO' protocolVersion='34'>
<CertifRequest
requestId='e6cc5179-6f6e-46af-80f0-a60f76304ffe'
docDate='2019-10-08'
docNum='7471' idCrypto='e76eceda-8888-47cc-ae29-6503136fa9bf' docExtId='e6cc5179-6f6e-46af-80f0-
a60f76304ffe' containerName='TLS00949295B/1'>
<CommonName>Фамилия Имя Отчество</CommonName>
<Organization>ООО "ЯМ Интернешнл (СНГ)"</Organization>
<OrganizationUnit>175189</OrganizationUnit>
<Locality>Город</Locality>
<Country>RU</Country>
<Email>email@email.ru</Email>
<Position>Должность</Position>
<Params>
<Param name='tokenId' value='TLS00949295B'/>
<Param name='tokenTlsVersion' value='505'/>
<Param name='pin' value='1'/>
</Params>
<Docs>
<Doc type='tls'>
<Attachment>
<AttachmentName>A000QLJH.p10</AttachmentName>
<Body>LS0tLS1CRUdJTiBDTVMtLS0tLQpNSUlIL3dZSktvWklodmNOQVFjQ29JSUg4RENDQit3
Q0FRRXhEREFLQmdZcWhRTUNBZ2tGQURDQ0FsWUdDU3FHClNJYjNEUUVIQWFDQ0FrY0VnZ0pE
TUlJQ1B6Q0NBZTRDQVFBd2dld3hMekF0QmdOVkJBTU1KdENrMExEUXZOQzQKMEx2UXVOR1BJTk
NZMEx6Ump5RFFudEdDMFlmUXRkR0IwWUxRc3RDK01Rc3dDUVlEVlFRR0V3SlNWVEUwTURJRwpB
MVVFQ2d3cjBKN1FudENlSUNMUXI5Q2NJTkNZMEwzUmd0QzEwWURRdmRDMTBZalF2ZEM3SUNq
UW9kQ2QwSk1wCklqRWpNQ0VHQTFVRUN3d2EwSi9RdnRDMDBZRFFzTkMzMExUUXRkQzcwTFhR
dmRDNDBMVXhHekFaQmdOVkJDRU0KRXRDVTBMN1F1OUMyMEwzUXZ0R0IwWUxSakRFZE1Cc0d
DU3FHU0liM0RRRUpBUllPWlcxaGFXeEFaVzFoYVd3dQpjblV4RlRBVEJnTlZCQVVUREZSTVV6QXdPV
FE1TWprMVFqQmpNQndHQmlxRkF3SUNFekFTQmdjcWhRTUNBaU1DCkJnY3FoUU1DQWg0QkEwT
UFCRUFUZWpxSlRVRGwzeUltMDhuMThVVFFzV1BYN3RNdVpWWWpZQUFGVTZzUEJWSnkKT2tEd0
VkUFdna1RVNjArb0ZtYXNaRlY1ejBVdncvSE56QnB3L2Vwb29JR1VNSUdSQmdrcWhraUc5dzBCQ1E0e
ApnWU13Z1lBd0RnWURWUjBQQVFIL0JBUURBZ1N3TUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lIZ0R
BV0JnTlZIU1VCCkFmOEVEREFLQmdnckJnRUZCUWNEQWpBb0JnY3FoUU1EZXdNQkJCME1HMEV3
TURCUlRFcElkTkNrMExEUXZOQzQKMEx2UXVOR1AwSmpRbmpBWkJnY3FoUU1EZXdNRkJBNE1ER
lJNVXpBd09UUTVNamsxUWpBSUJnWXFoUU1DQWdNRApRUUJpWGRaRXNNQVd1OUt2eWM4Y2M3
Z09WYjd5b0Q5VEExb2ZyaStJdXFBNjlER1A2TGp5RnBEcC8xV1RZRkpyCnRycThiNkNvdDBOL2dEelAr
RGppZnJqaG9JSURaRENDQTJBd2dnTVBvQU1DQVFJQ0VIY1VLQm9nUlR5eVp0RWsKZUxQWWo4b
3dDQVlHS29VREFnSURNSUlCTVRFTE1Ba0dBMVVFQmhNQ1VsVXhHekFaQmdOVkJBZ01FamMzSU
5DegpMdENjMEw3UmdkQzYwTExRc0RFWU1CWUdBMVVFQnd3UDBMTXUwSnpRdnRHQjBMclFzdE
N3TVNBd0hnWURWUVFLCkRCZlFuOUNRMEo0ZzBLSFFzZEMxMFlEUXNkQ3cwTDNRdWpFYU1CZ0
dDQ3FGQXdPQkF3RUJFZ3d3TURjM01EY3cKT0RNNE9UTXhKakFrQmdOVkJBa01IZEdEMExzdUlOQ
1MwTERRc3RDNDBMdlF2dEN5MExBc0lOQzBMakU1TVJndwpGZ1lGS29VRFpBRVNEVEV3TWpjM01
EQXhNekl4T1RVeE16QXhCZ05WQkFNTUt0Q1EwS0RRbkNEUW1OQzkwTGpSCmh0QzQwTERRdTlD
NDBMZlFzTkdHMExqUXVDRFFvdENWMEtIUW9qRTJNRFFHQTFVRUN3d3QwS1BRdjlHQTBMRFEKc
3RDNzBMWFF2ZEM0MExVZzBMSFF0ZEMzMEw3UXY5Q3cwWUhRdmRDKzBZSFJndEM0TUI0WER
URTVNRFF3TWpBdwpNREF3TUZvWERUSXlNRFF3TWpBd01EQXdNRm93ZFRFTE1Ba0dBMVVFQm
hNQ1VsVXhUekJOQmdOVkJBTU1SdENpCjBZRFFzTkM5MFlIUXY5QyswWURSZ3RDOTBZdlF1U0RS
Z2RDMTBZRFJndEM0MFlUUXVOQzYwTERSZ2lEUXZ0R0MKSURFeE9qSXpPakk1SURBeUxqQTBMa
kl3TVRreEZUQVRCZ05WQkFVVERGUk1VekF3T1RRNU1qazFRakJqTUJ3RwpCaXFGQXdJQ0V6QVN
CZ2NxaFFNQ0FpTUNCZ2NxaFFNQ0FoNEJBME1BQkVBUHJCUmRIVDZtU0ZEaTlIN1lzcWhTClZ5WV
hUODh0aHFDb3YwbFRqcHluYWlOaHZKZGJhTGVDRzkyc2VOS0RicTRaS1BTUjVMTTY5Rk1aNGtaSU
ZrVUUKbzRHNk1JRzNNQjBHQTFVZERnUVdCQlJtamRHVkRraVZNZjh3UUUvRVBKd1UxdXlxYmpBZk
JnTlZIU01FR0RBVwpnQlJjaVhNVUdzY3VpWXNNdndiM3c4VWJEbncyTERBSkJnTlZIUk1FQWpBQU1C
UUdCeXFGQXdON0F3UUVDUVlICktvVURBM3NGQXpBWkJnY3FoUU1EZXdNRkJBNE1ERlJNVXpBd0
9UUTVNamsxUWpBT0JnTlZIUThCQWY4RUJBTUMKQmVBd0tRWURWUjBmQkNJd0lEQWVvQnlnR29
ZWU56Y3hOREk0TVVFeU1EUTFNME5DTWtRM05qY3VZM0pzTUFnRwpCaXFGQXdJQ0F3TkJBRWR
2RUpNdlNJK3NCZmpsT2hYWkxRS1pOL1VrSVBqTkIzUXhEc2RjUk9NdUw1QnV4aXlqCldRNUpuYlRmS
DB2OW9yUzRGUzB5ZncydXIxUnkzd1VJekVzeGdnSVZNSUlDRVFJQkFUQ0NBVWN3Z2dFeE1Rc3cK
Q1FZRFZRUUdFd0pTVlRFYk1Ca0dBMVVFQ0F3U056Y2cwTE11MEp6UXZ0R0IwTHJRc3RDd01SZ3d
GZ1lEVlFRSApEQS9Rc3k3UW5OQyswWUhRdXRDeTBMQXhJREFlQmdOVkJBb01GOUNmMEpEUW5
pRFFvZEN4MExYUmdOQ3gwTERRCnZkQzZNUm93R0FZSUtvVURBNEVEQVFFU0REQXdOemN3Tn
pBNE16ZzVNekVtTUNRR0ExVUVDUXdkMFlQUXV5NGcKMEpMUXNOQ3kwTGpRdTlDKzBMTFFzQ3d
nMExRdU1Ua3hHREFXQmdVcWhRTmtBUklOTVRBeU56Y3dNREV6TWpFNQpOVEV6TURFR0ExVUV
Bd3dxMEpEUW9OQ2NJTkNZMEwzUXVOR0cwTGpRc05DNzBMalF0OUN3MFliUXVOQzRJTkNpCjBK
WFFvZENpTVRZd05BWURWUVFMREMzUW85Qy8wWURRc05DeTBMdlF0ZEM5MExqUXRTRFFzZE
MxMExmUXZ0Qy8KMExEUmdkQzkwTDdSZ2RHQzBMZ0NFSGNVS0JvZ1JUeXladEVrZUxQWWo4b3d
DZ1lHS29VREFnSUpCUUNnYVRBWQpCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0d
DU3FHU0liM0RRRUpCVEVQRncweE9URXdNRGd4Ck1UTXpNekZhTUM4R0NTcUdTSWIzRFFFSkJER
WlCQ0FDT2NJLysvUWI2U2ZtVWxrTWFtQzUvMzY3Qk5JQmZoNWoKT1o3SlNlK3ZyakFJQmdZcWhRT
UNBaE1FUUFlRTZucVErNmQzZWV1Mm1SajNpck9HSSt1bC9yMmZWSW44RHpXSApjQTNIVHM5YjU
wL29JL0RkZkNjeG1IdWpJcTkzSlE2Zm9SRFNvMGxGR2JYaVBRRT0KLS0tLS1FTkQgQ01TLS0tLS0=</
Body>
</Attachment>
<Params>
<Param
name='bicryptId'
value='A000QLJHtФамилияИОДолжн'/>
</Params>
</Doc>
<Doc type='sign'>
<Attachment>
<AttachmentName>A000QLJG.p10</AttachmentName>
<Body>LS0tLS1CRUdJTiBDTVMtLS0tLQpNSUlIMEFZSktvWklodmNOQVFjQ29JSUh3VENDQjc
wQ0FRRXhEREFLQmdZcWhRTUNBZ2tGQURDQ0FpY0dDU3FHClNJYjNEUUVIQWFDQ0FoZ0VnZ0lV
TUlJQ0VEQ0NBYjhDQVFBd2dld3hMekF0QmdOVkJBTU1KdENrMExEUXZOQzQKMEx2UXVOR1BJTk
NZMEx6Ump5RFFudEdDMFlmUXRkR0IwWUxRc3RDK01Rc3dDUVlEVlFRR0V3SlNWVEUwTURJRwpB
MVVFQ2d3cjBKN1FudENlSUNMUXI5Q2NJTkNZMEwzUmd0QzEwWURRdmRDMTBZalF2ZEM3SUNq
UW9kQ2QwSk1wCklqRWpNQ0VHQTFVRUN3d2EwSi9RdnRDMDBZRFFzTkMzMExUUXRkQzcwTFhR
dmRDNDBMVXhHekFaQmdOVkJDRU0KRXRDVTBMN1F1OUMyMEwzUXZ0R0IwWUxSakRFZE1Cc0d
DU3FHU0liM0RRRUpBUllPWlcxaGFXeEFaVzFoYVd3dQpjblV4RlRBVEJnTlZCQVVUREZSTVV6QXdPV
FE1TWprMVFqQmpNQndHQmlxRkF3SUNFekFTQmdjcWhRTUNBaU1DCkJnY3FoUU1DQWg0QkEwT
UFCRUFXZk9YMTZmR0JFMEZxS3ZiNHdDb2VYYWVnVUt3V0o3QXB6UW40aENIMlBFTXgKUnBxdUp
TNWw0U09Ha2ZGR2xQT2xwSGVCQWlLYmVWUmxFS0NRcGVRRG9HWXdaQVlKS29aSWh2Y05BU
WtPTVZjdwpWVEFPQmdOVkhROEJBZjhFQkFNQ0EvZ3dLQVlIS29VREEzc0RBUVFkREJ0Qk1EQXdV
VXhLUjNQUXBOQ3cwTHpRCnVOQzcwTGpSajlDWTBKNHdHUVlIS29VREEzc0RCUVFPREF4VVRGT
XdNRGswT1RJNU5VSXdDQVlHS29VREFnSUQKQTBFQVFBOHppSmpFMXpXRGRoazNPbFJuVllkc2J
saC9tZitFSndPTjg5dXRCQzRUdDI2SnZMTjk5MHJ0dnZCegpmanNWMVoxZHl3dFBSY25JM1pTRFlZe
WhWcUNDQTJRd2dnTmdNSUlERDZBREFnRUNBaEIzRkNnYUlFVThzbWJSCkpIaXoySS9LTUFnR0Jp
cUZBd0lDQXpDQ0FURXhDekFKQmdOVkJBWVRBbEpWTVJzd0dRWURWUVFJREJJM055RFEKc3k3
UW5OQyswWUhRdXRDeTBMQXhHREFXQmdOVkJBY01EOUN6THRDYzBMN1JnZEM2MExMUXNER
WdNQjRHQTFVRQpDZ3dYMEovUWtOQ2VJTkNoMExIUXRkR0EwTEhRc05DOTBMb3hHakFZQmdnc
WhRTURnUU1CQVJJTU1EQTNOekEzCk1EZ3pPRGt6TVNZd0pBWURWUVFKREIzUmc5QzdMaURRa
3RDdzBMTFF1TkM3MEw3UXN0Q3dMQ0RRdEM0eE9URVkKTUJZR0JTcUZBMlFCRWcweE1ESTNOe
kF3TVRNeU1UazFNVE13TVFZRFZRUUREQ3JRa05DZzBKd2cwSmpRdmRDNAowWWJRdU5DdzBMd
lF1TkMzMExEUmh0QzQwTGdnMEtMUWxkQ2gwS0l4TmpBMEJnTlZCQXNNTGRDajBML1JnTkN3CjBM
TFF1OUMxMEwzUXVOQzFJTkN4MExYUXQ5QyswTC9Rc05HQjBMM1F2dEdCMFlMUXVEQWVGdzB4
T1RBME1ESXcKTURBd01EQmFGdzB5TWpBME1ESXdNREF3TURCYU1IVXhDekFKQmdOVkJBWVR
BbEpWTVU4d1RRWURWUVFEREViUQpvdEdBMExEUXZkR0IwTC9RdnRHQTBZTFF2ZEdMMExrZzB
ZSFF0ZEdBMFlMUXVOR0UwTGpRdXRDdzBZSWcwTDdSCmdpQXhNVG95TXpveU9TQXdNaTR3TkM
0eU1ERTVNUlV3RXdZRFZRUUZFd3hVVEZNd01EazBPVEk1TlVJd1l6QWMKQmdZcWhRTUNBaE13R
WdZSEtvVURBZ0lqQWdZSEtvVURBZ0llQVFOREFBUkFENndVWFIwK3BraFE0dlIrMkxLbwpVbGNtRjAv
UExZYWdxTDlKVTQ2Y3Ayb2pZYnlYVzJpM2dodmRySGpTZzI2dUdTajBrZVN6T3ZSVEdlSkdTQlpGCkJ
LT0J1akNCdHpBZEJnTlZIUTRFRmdRVVpvM1JsUTVJbFRIL01FQlB4RHljRk5ic3FtNHdId1lEVlIwakJCZ3
cKRm9BVVhJbHpGQnJITG9tTERMOEc5OFBGR3c1OE5pd3dDUVlEVlIwVEJBSXdBREFVQmdjcWhRT
URld01FQkFrRwpCeXFGQXdON0JRTXdHUVlIS29VREEzc0RCUVFPREF4VVRGTXdNRGswT1RJNU5
VSXdEZ1lEVlIwUEFRSC9CQVFECkFnWGdNQ2tHQTFVZEh3UWlNQ0F3SHFBY29CcUdHRGMzTVRR
eU9ERkJNakEwTlRORFFqSkVOelkzTG1OeWJEQUkKQmdZcWhRTUNBZ01EUVFCSGJ4Q1RMMGlQc
kFYNDVUb1YyUzBDbVRmMUpDRDR6UWQwTVE3SFhFVGpMaStRYnNZcwpvMWtPU1oyMDN4OUwv
YUswdUJVdE1uOE5ycTlVY3Q4RkNNeExNWUlDRlRDQ0FoRUNBUUV3Z2dGSE1JSUJNVEVMCk1Ba0
dBMVVFQmhNQ1VsVXhHekFaQmdOVkJBZ01FamMzSU5Dekx0Q2MwTDdSZ2RDNjBMTFFzREVZTUJ
ZR0ExVUUKQnd3UDBMTXUwSnpRdnRHQjBMclFzdEN3TVNBd0hnWURWUVFLREJmUW45Q1EwSjR
nMEtIUXNkQzEwWURRc2RDdwowTDNRdWpFYU1CZ0dDQ3FGQXdPQkF3RUJFZ3d3TURjM01EY3dP
RE00T1RNeEpqQWtCZ05WQkFrTUhkR0QwTHN1CklOQ1MwTERRc3RDNDBMdlF2dEN5MExBc0lOQz
BMakU1TVJnd0ZnWUZLb1VEWkFFU0RURXdNamMzTURBeE16SXgKT1RVeE16QXhCZ05WQkFNTUt
0Q1EwS0RRbkNEUW1OQzkwTGpSaHRDNDBMRFF1OUM0MExmUXNOR0cwTGpRdUNEUQpvdENW
MEtIUW9qRTJNRFFHQTFVRUN3d3QwS1BRdjlHQTBMRFFzdEM3MExYUXZkQzQwTFVnMExIUXRkQ
zMwTDdRCnY5Q3cwWUhRdmRDKzBZSFJndEM0QWhCM0ZDZ2FJRVU4c21iUkpIaXoySS9LTUFvR0J
pcUZBd0lDQ1FVQW9Ha3cKR0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEFjQmdrcWh
raUc5dzBCQ1FVeER4Y05NVGt4TURBNApNVEV6TXpNd1dqQXZCZ2txaGtpRzl3MEJDUVF4SWdRZ3h
CcFpIQ0dEcWFYNlJuL3UwZ1BMMVYzTm9HZnlSckFNCnlTWVdsUVpVM1hVd0NBWUdLb1VEQWdJV
EJFQlIyMjFNeUFFdGFtQ2xOVmF1eW40enhuV1ZBK1A2OGZmeERLZTEKc1VoNm5tL1p4a2lvQkNNSjd
PRG4rL214ZXFrOUN3a052dG5oOGFCMHh6V0ZsRERRCi0tLS0tRU5EIENNUy0tLS0t</Body>
</Attachment>
<Params>
<Param
name='bicryptId'
value='A000QLJGsФамилияИОДолжн'/>
</Params>
</Doc>
</Docs>
</CertifRequest>
</Request>
Пример текста запроса на новый сертификат ЭП формата PKCS#10 в
кодировке Base64:
-----BEGIN CERTIFICATE REQUEST-----
MIIB1zCCAYYCAQAwgbMxHDAaBgNVBAoME9Ce0J7QniDQmNCy0LDQvdC+0LIxCzAJ
BgNVBAYMAlJVMS8wLQYDVQQDDCbQmNCy0LDQvdC+0LIg0JjQstCw0L0g0JjQstCw
0L3QvtCy0LjRhzE0MDIGA1UECwwr0KLQtdGB0YLQvtCy0L7QtSDQv9C+0LTRgNCw
0LfQtNC10LvQtdC90LjQtTEfMB0GA1UEDAwW0KLQtdGB0YLQuNGA0L7QstGJ0LjQ
ujBjMBwGBiqFAwICEzASBgcqhQMCAiMCBgcqhQMCAh4BA0MABECoyMtXO4cy9nbt
WnrcddHJ+9JlL6mZZRCLTecrnmX5ZaCRG10Ajo3a6ccvvdkVxXuVlupUJSgl+ARB
Rg3zqflboGYwZAYJKoZIhvcNAQkOMVcwVTAOBgNVHQ8BAf8EBAMCBPAwCQYDVR0T
BAIwADAiBgcqhQMDewMBBBcMFVYyUUwwMDIwc9CY0LLQsNC90L7QsjAUBgcqhQMD
ewMEBAkGByqFAwN7BQQwCAYGKoUDAgIDA0EAAH5At+1eyff5IgZ49w6p9kISdZ4I
4MtnVTcUfYU8eZISIqt72eplPdqV4lp30c/6k/s4+LWX77D8353hKBSDzw==
-----END CERTIFICATE REQUEST-----
ВАЖНО
Запрос на сертификат ЭП формата PKCS#10 должен быть обернут в конструкцию «---
--BEGIN CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST-----»
КУЦ
приходит
с
информацией
об
организации
в
теге
Response/OrganizationsInfo/OrganizationInfo/OrgData/OtherOrgData/CertAuthId
2.8.4.1.3. Особенности получения статусов об обработке из
СББОЛ
Информация об обработке документа доставляется в УС:
1. Без запроса со стороны УС:
 В ответ на отправленный документ СББОЛ отправляет сообщение в
формате Response/Tickets, в котором передается:
 Tickets/Ticket@docId - Идентификатор документа, с помощью которого
впоследствии можно запрашивать со стороны УС в формате
Request/DocIds/DocId - все последующие статусы обработки документа
Tickets/Ticket/Info@statusStateCode="DELIVERED"
2. Путем запроса со стороны УС в формате Request/DocIds/DocId:
 Имея данные идентификатора документа, которые были получены с
первым сообщением Response/Tickets СББОЛ, передает текущее
состояние документа
Tickets/Ticket/Info/BankDate/@statusDateTime - дата и время
присвоения статуса.
Статусы обработки документа, передаваемые со стороны СББОЛ в УПШ
в рамках
Response/Tickets:
Передавае
мый из
Описание
Атрибут
Описание
Версионно
СББОЛ
операции на
Response/Tickets для
передаваемого из
п/п
сть
статус
стороне СББОЛ
передачи в УПШ
СББОЛ значения
документа
REQUISITE
Логические
Response/Tickets/Ticket/Inf
REQUISITE_ERROR
Актуально с
1.
_ERROR
проверки документа
o/@statusStateCode
версии 27
(Ошибка
привели
к
Response/Tickets/Ticket/Inf
Должны передаваться
реквизитов
неуспешному
o/MsgFromBank/@messag
сообщения об ошибках,
)
результату
e
выявленных на стороне
Актуально с
(статус
версии 27
Банка
окончательный- не
успешно)
DELIVERED
Документ
Response/Tickets/Ticket/Inf
DELIVERED
2.
(Доставлен
доставлен
на
o/@statusStateCode
)
сторну Банка,
но
Актуально с
еще не проходил
версии 27
проверку подписи и
реквизитов
ACCEPTED
Прием документа
Response/Tickets/Ticket/@
ACCEPTED
Актуально с
3.
(Принят)
на стороне Банка
statusStateCode
версии 27
EXPORTED
Документ выгружен
Response/Tickets/Ticket/Inf
EXPORTED
Актуально с
4.
(Выгружен)
в УЦ
o/@statusStateCode
версии 27
PUBLISHED
Сертификат издан
Response/Tickets/Ticket/Inf
PUBLISHED_BY_BANK
5.
_BY_BANK
Банком
o/@statusStateCode
Актуально с
(Издан
(статус
версии 27
Банком)
окончательный-
успешно)
CHECKERR
ЭД не прошел
Response/Tickets/Ticket/@
CHECKERROR
6.
OR
логические
statusStateCode
(Ошибка
контроли Системы
контроля)
ДБО на стороне
клиента
при
Актуально с
сохранении
версии 27
(отрицательный
результат)
(статус
окончательный- не
успешно)
7.
Документ закрыт
CLOSED
Response/Tickets/Ticket/Inf
Актуально с
(статус
CLOSED
(Закрыт)
o/@statusStateCode
версии 27
окончательный- не
успешно)
CREATED
ЭД сформирован
Response/Tickets/Ticket/@
CREATED
Актуально с
8.
(Создан)
пользователем на
statusStateCode
версии 27
стороне клиента,
при этом документ
прошел логические
контроли
с
положительным
результатом.
ON_REGIST
На регистрации
Response/Tickets/Ticket/@
ON_REGISTRATION
Актуально с
9.
RATION(На
statusStateCode
версии 27
регистраци
и)
10.
Подтверждение
IMPLEMENT
исполнения
ED
Response/Tickets/Ticket/Inf
Актуально с
IMPLEMENTED
(Обработан
(статус
o/@statusStateCode
версии 27
)
окончательный
-
успешно)
NEED_CON
Ожидает
Response/Tickets/Ticket/Inf
NEED_CONFIRMATION
11.
FIRMATION(
подтверждения
o/@statusStateCode
Актуально с
Ожидает
версии 27
подтвержд
ения)
Ошибка создания
Response/Tickets/Ticket/Inf
FAIL
Добавлено в
12.
o/@statusStateCode
версии 28
документа в СББОЛ
FAIL
Response/Tickets/Ticket/Inf
Malformed content
(Ошибка
(статус
o/MsgFromBank/@messag
окончательный - не
Добавлено в
создания)
e
успешно)
версии 28
Пример 1.
(Получение из СББОЛ ID полученного документа и статус Доставлен)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response sender="DBO" version="1.0" requestId="4a1cddc4-34af-4383-8b0c-356d48a2278f"
responseId="67a88a19-6dc9-490e-b8e9-5abbb430f736" createTime="2014-03-11T17:29:36"
<Tickets>
<Ticket createTime="2014-03-11T17:29:43" docId="3db59f69-3a85-4d64-b01e-069616773522">
<Info docExtId="90432b06-9a96-4f19-aed1-3145ab7ebc9c" statusStateCode="DELIVERED"/>
<Sign>
<Issuer>E=casbrf@sberbank.ru
2.5.4.33 =Тестирующий АдминистраторКК
CN=ПетровПП-АдминКК-ТЕСТ2
OU=Удостоверяющий центр РК РФ (Тестовый)
O=ОАО "СБЕРБАНК России"
C=RU</Issuer>
<SN>3030434130313735</SN>
<Value>LJfj0xs5sRbda1zE+OHNSrEKXghOULr7a1BcAa5b3M8icv9Zq/dfyTmhZYWvs51VNY3jlFMfG/w8
1RBxA6qd6w==</Value>
</Sign>
</Ticket>
</Tickets>
</Response>
Пример 2.
(Получение из СББОЛ информации об обработке документа, пример статуса
Принят)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response sender="DBO" version="1.0" requestId="e7cfccae-bf58-4fa0-8f17-d7a4d6030d0b"
responseId="ee537dfd-0410-40b4-9f0e-8782eafb537e" createTime="2014-03-11T17:29:54"
<Tickets>
<Ticket createTime="2014-03-11T17:29:55" docId="3db59f69-3a85-4d64-b01e-069616773522">
<Info docExtId="90432b06-9a96-4f19-aed1-3145ab7ebc9c" statusStateCode="ACCEPTED">
<BankDate/>
<MsgFromBank/>
</Info>
<Sign>
<Issuer>E =casbrf@sberbank.ru 2.5.4.33 =ТестирующийАдминистраторКК CN=ПетровПП-
АдминКК-ТЕСТ2
OU=Удостоверяющий центр РК РФ (Тестовый) O=ОАО "СБЕРБАНК России"
C=RU</Issuer>
<SN>3030434130313735</SN>
<Value>Ci9b5sjm7KwPP7c+V2GCwt6csh/fpOIyk+ZuzkjtLb0qegBIKufUh/hWJA9h06eBszT7XRcqrYBrNri
MalPx3Q==</Value>
</Sign>
</Ticket>
</Tickets>
</Response>
2.8.4.1.3.1. Проверка ФИО в запросе сертификата
В случае несоответствия ФИО в поле Request/CertifRequest/CommonName или OID
2.5.4.3 ФИО в учетной записи пользователя
- запрос на сертификат не будет
зарегистрирован (Статус FAIL)
Аналогичная проверка распространяется на поля OID 2.5.4.4 и 2.5.4.42
Сценарий заполнения полей с ФИО со стороны Клиента:
ƒ Request/CertifRequest/CommonName заполняется
из Response/OrganizationsInfo/OrganizationInfo/AuthPersons/AuthPerson/FIO для
пользователя с
соответствующим Response/OrganizationsInfo/OrganizationInfo/SignDevices/Sign
Device/SignDeviceId
ƒ OID2.5.4.3 заполняется
из Response/OrganizationsInfo/OrganizationInfo/AuthPersons/AuthPerson/FIO для
пользователя с
соответствующим Response/OrganizationsInfo/OrganizationInfo/SignDevices/Sign
Device/SignDeviceId
Если клиент дополнительно указывает OID2.5.4.4 и OID2.5.4.42
ƒ OID 2.5.4.4 и OID 2.5.4.42 заполняются клиентом самостоятельно, исходя из
значения Response/OrganizationsInfo/OrganizationInfo/AuthPersons/AuthPerson/FI
O для пользователя с
соответствующим Response/OrganizationsInfo/OrganizationInfo/SignDevices/Sign
Device/SignDeviceId
2.8.4.1.4. Поля запроса на новый сертификат
Запрос на новый сертификат создается в формате PKCS#10. Более подробное
описание формата можно найти по ссылке: https://tools.ietf.org/html/rfc2986.
Список необходимых полей запроса на сертификат представлен в Таблице
«Сведения о владельце и атрибутах сертификата».
Имя файла должно быть уникальным для каждого запроса (КУЦ организации клиента
+ порядковый номер ключа) с расширением *.p10. Например: A3PUZY34.p10.
Важно!!!
Cертификат действителен не более 15 месяцев.
У одного пользователя может быть несколько Действительных сертификатов,
но подписывать Документы он может только тем ключом ЭП, который
соответствует Активному сертификату. Для активации сертификата
необходимо отправить запрос Request/ActivateCert
Таблица - Сведения о владельце и атрибутах сертификата
Источник значения в
Обо
Макс
Наименовани
Response/OrganizatioВерсионно
знач
OID
дли
Формат
е
nsInfo/OrganizationIn
сть
п/п
ение
на
fo/
Актуально с
Сведения о владельце сертификата (Субъект/Subject)
версии 27
UTF-8 STRING
AuthPersons/AuthPers
on/FIO для
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
соответствующего
пользователя
Общее имя.
Каждое слово в тексте должно быть отделено 1 пробелом. Если в
фамилии, имени или отчестве в написании присутствует «дефис»,
то в запрос так и вносится с дефисом, без пробелов (например:
Салтыков-Щедрин). Если фамилия, имя или отчество состоит из
Актуально с
1.
CN
ФИО
2.5.4.3
128
нескольких слов разделенных пробелом, то в запрос вносится
версии 27
одним словом, части которого соединены «подчеркиванием» без
пробелов (например: фамилия «Ван чо» будет записана Ван_чо).
Необходимо удалять пробелы (в случае их наличия) в начале и в
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Например: «Иванов Иван Ивановичª
PRINTABLE STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Актуально с
2.
C
Страна
2.5.4.6
2
версии 27
Необходимо удалять пробелы (в случае их наличия) в начале и в
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Должен записываться только двухбуквенный код выбранной
страны из справочника стран. Например, для «Российской
федерацииª - “RU”
UTF-8 STRING
OrgData/ShortName
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Полное или сокращенное название организации, наименование
юридического лица.
Актуально с
3.
O
Организация
2.5.4.10
64
версии 27
Необходимо удалять пробелы (в случае их наличия) в начале и в
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Например: «ООО «Клиентªª
UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Наименование подразделения.
Указываются данные подразделения уполномоченного
Подразделени
представителя юридического лица.
Актуально с
4.
OU
2.5.4.11
64
е
версии 27
Необходимо удалять пробелы (в случае их наличия) в начале и в
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Если длина ИНН = 12 знакам ИЛИ поле «Подразделение» не
заполнено, то oid не добавляется в запрос.
Например: «Бухгалтерияª
UTF-8 STRING
SignDevices/SignDevic
e/Post для
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
соответствующего
пользователя.
Должность.
Указываются данные уполномоченного представителя
юридического лица.
Актуально с
5.
T
Должность
2.5.4.12
64
Необходимо удалять пробелы (в случае их наличия) в начале и в
версии 27
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Если длина ИНН = 12 знакам, то oid не добавляется в запрос.
Например: «Главный бухгалтерª
IA5STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Адрес электронной почты.
Адрес
1.2.840.113549.1.9
Необходимо удалять пробелы (в случае их наличия) в начале и в
Актуально с
6.
E
электронной
64
.1
конце текста, а также все символы, которые не входят в набор,
версии 27
почты
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Значение, которое записывается в атрибут “E” должно
загружаться из поля «Адрес электронной почты» экранной формы.
Изменено в
Параметры по ГОСТ Р 34.10-2012
версии 33
Изменено в
Алгоритм подписи
версии 33
id-tc26-
Изменено в
1.
gost3410-12-
1.2.643.7.1.1.1.1
Алгоритм подписи по ГОСТ Р 34.10-2012 с ключом 256
версии 33
256
Изменено в
Параметры эллиптической кривой для алгоритма
версии 33
id-GostR3410-
2001-
Изменено в
1.1
1.2.643.2.2.35.2
Параметры ГОСТ Р 34.10-2001 256 бит, вариант B
CryptoPro-B-
версии 33
ParamSet
Изменено в
Параметры алгоритма хэширования
версии 33
id-tc26-
Изменено в
1.2
gost3411-12-
1.2.643.7.1.1.2.2
Алгоритм хэширования по ГОСТ Р 34.11-12 с длиной хэш-кода 256
версии 33
256
Изменено в
Параметры алгоритма шифрования
версии 33
ГОСТ 28147-
Изменено в
1.3
1.2.643.2.2.31.1
Алгоритм шифрования по ГОСТ 28147-89
89
версии 33
Изменено в
Алгоритм подписи и хэширования (Это подпись запроса)
версии 33
id-tc26-
signwithdigest-
Алгоритм подписи ГОСТ Р 34.10-2012 с ключом 256 с
Изменено в
2.
1.2.643.7.1.1.3.2
gost3410-12-
хэшированием по ГОСТ Р 34.11-2012
версии 33
256
Актуально с
Расширения (Extension)
версии 27
OCTET STRING внутри него UTF-8 STRING с ID Бикрипт
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Идентификато
Изменено в
1.
1.2.643.3.123.3.1
32
р Бикрипт
версии 33
Необходимо удалять пробелы (в случае их наличия) в начале и в
конце текста, а также все символы, которые не входят в набор,
который описан в Таблице «Набор разрешенных символов для
текстов в СКП ЭП».
Значение состоит из:
КУЦ - кода удостоверяющего центра, присваиваемого
организации клиента, ПКК - порядкового кода ключа (вместе
ровно 8 символов) + 1 символ обозначения типа ключа и +
фамилия и инициалы
КУЦ приходит с информацией об организации в теге
Response/OrganizationsInfo/OrganizationInfo/OrgData/OtherOrgData/
CertAuthId
Количество разрядов, отводимых на КУЦ и ПКК может быть 4+4
или 6+2 соответственно. Разрядность КУЦ определяется по 5-му
символу. Если 5-й символ цифра, КУЦ - 4х разрядный, иначе - 6
разрядный.
Нумерация ПКК должна соответствовать следующему ряду: «01,
02, « , 09, 0A, 0B, « , 0Z, 10, 11, « , 1Z, « , ZZ»,
1) 01, 02 .. 99
2) 0A, 0B .. 0Z .. 9A, 9B .. 9Z
3) A0, A1 .. A9, AA, AB .. AZ .. Z0, Z1 .. Z9, ZA, ZB .. ZZ
Символы I и O исключаются.
Предыдущее значение можно посмотреть в
Response/OrganizationsInfo/OrganizationInfo/OrgData/OtherOrgData/
LastCertifNum, необходимо добавить столько «0» перед
порядковым номером, чтобы кол-во символов вместе с КУЦ было
8
9-й символ - Тип ключа: “s” - ключ ЭП клиента; “t” - ключ
шифрования
Примеры:
при 4-значном КУЦ <Param name='bicryptId' value='V2QL0019s«'/>
следующее значение bicryptid, при 4-значном КУЦ <Param
name='bicryptId' value='V2QL001As«'/>
максимальное значение bicryptid, при 4-значном КУЦ <Param
name='bicryptId' value='V2QL9ZZZs«'/>
при 6 значном КУЦ <Param name='bicryptId' value='A000YS09s«'/>
следующее значение bicryptid, при 6-значном КУЦ <Param
name='bicryptId' value='A000YS0As«'/>
максимальное значение bicryptid, при 6-значном КУЦ <Param
name='bicryptId' value='A000YSZZs«'/>
OCTET STRING содержащий BITSTRING
Использовани
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Актуально с
2.
2.5.29.15
е ключа
версии 27
Должно содержать следующие компоненты: Цифровая подпись,
неотрекаемость, шифрование ключей, шифрование данных.
OCTET STRING содержащий базовые ограничения
Базовые
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Актуально с
3.
2.5.29.19
ограничения
версии 27
Битовое поле «CA» ложно, ограничения длинны цепочки
сертификатов - 0.
OCTET STRING содержащий OID 1.2.643.3.123.5.4
Актуально с
4.
Parent AS
1.2.643.3.123.3.4
версии 27
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Пример заполнения полей запроса в формате PKCS#10 по ГОСТ 2001:
Пример заполнения полей запроса в формате PKCS#10 по ГОСТ 2012:
Таблица - Набор разрешенных символов для текстов в СКП ЭП
Код Windows-
Символ
Название
Код UNICODE
1251
1
пробел
0x0020
0x20
2
"
универсальная кавычка
0x0022
0x22
3
%
процент
0x0025
0x25
4
&
амперсанд
0x0026
0x26
5
'
апостроф
0x0027
0x27
6
(
левая скобка
0x0028
0x28
7
)
правая скобка
0x0029
0x29
8
+
знак плюс
0x002B
0x2B
9
,
запятая
0x002C
0x2C
10
-
дефис
0x002D
0x2D
11
,
точка
0x002E
0x2E
12
0
цифра ноль
0x0030
0x30
13
1
цифра один
0x0031
0x31
14
2
цифра два
0x0032
0x32
15
3
цифра три
0x0033
0x33
16
4
цифра четыре
0x0034
0x34
17
5
цифра пять
0x0035
0x35
18
6
цифра шесть
0x0036
0x36
19
7
цифра семь
0x0037
0x37
20
8
цифра восемь
0x0037
0x37
21
9
цифра девять
0x0039
0x39
22
:
двоеточие
0x003A
0x3A
23
;
точка с запятой
0x003B
0x3B
24
@
коммерческое ат «собачка»
0x0040
0x40
25
A
латинская заглавная буква A
0x0041
0x41
26
B
латинская заглавная буква B
0x0042
0x42
27
C
латинская заглавная буква C
0x0043
0x43
28
D
латинская заглавная буква D
0x0044
0x44
29
E
латинская заглавная буква E
0x0045
0x45
30
F
латинская заглавная буква F
0x0046
0x46
31
G
латинская заглавная буква G
0x0047
0x47
32
H
латинская заглавная буква H
0x0048
0x48
33
I
латинская заглавная буква I
0x0049
0x49
34
J
латинская заглавная буква J
0x004A
0x4A
35
K
латинская заглавная буква K
0x004B
0x4B
36
L
латинская заглавная буква L
0x004C
0x4C
37
M
латинская заглавная буква M
0x004D
0x4D
38
N
латинская заглавная буква N
0x004E
0x4E
39
O
латинская заглавная буква O
0x004F
0x4F
40
P
латинская заглавная буква P
0x0050
0x50
41
Q
латинская заглавная буква Q
0x0051
0x51
42
R
латинская заглавная буква R
0x0052
0x52
43
S
латинская заглавная буква S
0x0053
0x53
44
T
латинская заглавная буква T
0x0054
0x54
45
U
латинская заглавная буква U
0x0055
0x55
46
V
латинская заглавная буква V
0x0056
0x56
47
W
латинская заглавная буква W
0x0057
0x57
48
X
латинская заглавная буква X
0x0058
0x58
49
Y
латинская заглавная буква Y
0x0059
0x59
50
Z
латинская заглавная буква Z
0x005A
0x5A
51
_
подчеркивание
0x005F
0x5F
52
a
латинская строчная буква a
0x0061
0x61
53
b
латинская строчная буква b
0x0062
0x62
54
c
латинская строчная буква c
0x0063
0x63
55
d
латинская строчная буква d
0x0064
0x64
56
e
латинская строчная буква e
0x0065
0x65
57
f
латинская строчная буква f
0x0066
0x66
58
g
латинская строчная буква g
0x0067
0x67
59
h
латинская строчная буква h
0x0068
0x68
60
i
латинская строчная буква i
0x0069
0x69
61
j
латинская строчная буква j
0x006A
0x6A
62
k
латинская строчная буква k
0x006B
0x6B
63
l
латинская строчная буква l
0x006C
0x6C
64
m
латинская строчная буква m
0x006D
0x6D
65
n
латинская строчная буква n
0x006E
0x6E
66
o
латинская строчная буква o
0x006F
0x6F
67
p
латинская строчная буква p
0x0070
0x70
68
q
латинская строчная буква q
0x0071
0x71
69
r
латинская строчная буква r
0x0072
0x72
70
s
латинская строчная буква s
0x0073
0x73
71
t
латинская строчная буква t
0x0074
0x74
72
u
латинская строчная буква u
0x0075
0x75
73
v
латинская строчная буква v
0x0076
0x76
74
w
латинская строчная буква w
0x0077
0x77
75
x
латинская строчная буква x
0x0078
0x78
76
y
латинская строчная буква y
0x0079
0x79
77
z
латинская строчная буква z
0x007A
0x7A
78
Ё
кириллическая заглавная буква Ё
0x0401
0xA8
79
«
двойная левая угловая кавычка
0x00AB
0xAB
80
ё
кириллическая строчная буква ё
0x0451
0xB8
81
знак номер
0x00B9
0xB9
82
»
двойная правая угловая кавычка
0x00BB
0xBB
83
А
кириллическая заглавная буква А
0x0410
0xC0
84
Б
кириллическая заглавная буква Б
0x0411
0xC1
85
В
кириллическая заглавная буква В
0x0412
0xC2
86
Г
кириллическая заглавная буква Г
0x0413
0xC3
87
Д
кириллическая заглавная буква Д
0x0414
0xC4
88
Е
кириллическая заглавная буква Е
0x0415
0xC5
89
Ж
кириллическая заглавная буква Ж
0x0416
0xC6
90
З
кириллическая заглавная буква З
0x0417
0xC7
91
И
кириллическая заглавная буква И
0x0418
0xC8
92
Й
кириллическая заглавная буква Й
0x0419
0xC9
93
К
кириллическая заглавная буква К
0x041A
0xCA
94
Л
кириллическая заглавная буква Л
0x041B
0xCB
95
М
кириллическая заглавная буква М
0x041C
0xCC
96
Н
кириллическая заглавная буква Н
0x041D
0xCD
97
О
кириллическая заглавная буква О
0x041E
0xCE
98
П
кириллическая заглавная буква П
0x041F
0xCF
99
Р
кириллическая заглавная буква Р
0x0420
0xD0
100
С
кириллическая заглавная буква С
0x0421
0xD1
101
Т
кириллическая заглавная буква Т
0x0422
0xD2
102
У
кириллическая заглавная буква У
0x0423
0xD3
103
Ф
кириллическая заглавная буква Ф
0x0424
0xD4
104
Х
кириллическая заглавная буква Х
0x0425
0xD5
105
Ц
кириллическая заглавная буква Ц
0x0426
0xD6
106
Ч
кириллическая заглавная буква Ч
0x0427
0xD7
107
Ш
кириллическая заглавная буква Ш
0x0428
0xD8
108
Щ
кириллическая заглавная буква Щ
0x0429
0xD9
109
Ъ
кириллическая заглавная буква Ъ
0x042A
0xDA
110
Ы
кириллическая заглавная буква Ы
0x042B
0xDB
111
Ь
кириллическая заглавная буква Ь
0x042C
0xDC
112
Э
кириллическая заглавная буква Э
0x042D
0xDD
113
Ю
кириллическая заглавная буква Ю
0x042E
0xDE
114
Я
кириллическая заглавная буква Я
0x042F
0xDF
115
а
кириллическая строчная буква а
0x0430
0xE0
116
б
кириллическая строчная буква б
0x0431
0xE1
117
в
кириллическая строчная буква в
0x0432
0xE2
118
г
кириллическая строчная буква г
0x0433
0xE3
119
д
кириллическая строчная буква д
0x0434
0xE4
120
е
кириллическая строчная буква е
0x0435
0xE5
121
ж
кириллическая строчная буква ж
0x0436
0xE6
122
з
кириллическая строчная буква з
0x0437
0xE7
123
и
кириллическая строчная буква и
0x0438
0xE8
124
й
кириллическая строчная буква й
0x0439
0xE9
125
к
кириллическая строчная буква к
0x043A
0xEA
126
л
кириллическая строчная буква л
0x043B
0xEB
127
м
кириллическая строчная буква м
0x043C
0xEC
128
н
кириллическая строчная буква н
0x043D
0xED
129
о
кириллическая строчная буква о
0x043E
0xEE
130
п
кириллическая строчная буква п
0x043F
0xEF
131
р
кириллическая строчная буква р
0x0440
0xF0
132
с
кириллическая строчная буква с
0x0441
0xF1
133
т
кириллическая строчная буква т
0x0442
0xF2
134
у
кириллическая строчная буква у
0x0443
0xF3
135
ф
кириллическая строчная буква ф
0x0444
0xF4
136
х
кириллическая строчная буква х
0x0445
0xF5
137
ц
кириллическая строчная буква ц
0x0446
0xF6
138
ч
кириллическая строчная буква ч
0x0447
0xF7
119
ш
кириллическая строчная буква ш
0x0448
0xF8
140
щ
кириллическая строчная буква щ
0x0449
0xF9
141
ъ
кириллическая строчная буква ъ
0x044A
0xFA
142
ы
кириллическая строчная буква ы
0x044B
0xFB
143
ь
кириллическая строчная буква ь
0x044C
0xFC
144
э
кириллическая строчная буква э
0x044D
0xFD
145
ю
кириллическая строчная буква ю
0x044E
0xFE
146
я
кириллическая строчная буква я
0x044F
0xFF
2.8.4.1.5. Печатная форма сертификата
В промышленной среде после генерации ключей и отправки в банк
запроса на сертификат через шлюз СББОЛ необходимо направить в Банк
печатную форму сертификата на бумажном носителе в трех экземплярах.
Пример печатной формы заявления на сертификацию ЭП:
Пример печатной формы заявления на сертификацию TLS:
2.8.5.Подтверждение операций УПШ кодом СМС
2.8.5.1. Основные сведения
СМС для подтверждения операций УС может быть направлено клиенту в следующих
случаях:
1. Автоматически при создании записи Контрагента (в случае наличия значения
параметра «Требуется подписание»).
2. По инициативе Клиента.
Особенности:
На стороне УС при работе с помощью токена посредством СМС могут быть
подтверждены только следующие операции:
 Запись контрагента.
При автоматической отправке СМС:
1.
При поступлении из учетной системы запроса, требующего подтверждение
кодом СМС, на стороне СББОЛ формируется СМС с кодом и отправляется
Клиенту.
2.
На стороне СББОЛ формируется сообщение Response/SmsCryptoProfile — на
сторону УС передается идентификатор криптопрофиля.
3.
После получения Клиентом СМС с кодом для подписи со стороны УС в
СББОЛ направляется Request/VerifySMSSign с полученным кодом СМС.
На стороне УС можно запросить СМС с кодом для подписания электронного
платежного документа СМС-клиентом:
1.
Со стороны УС направляется Request/GenSMSSign с запросом на генерацию
СМСс кодом для подписи ЭПД.
2.
На стороне СББОЛ формируется сообщение Response/SmsCryptoProfile —
на сторону УС передается идентификатор криптопрофиля.
3.
После получения Клиентом СМС с кодом для подписи со стороны УС в
СББОЛ направляется Request/VerifySMSSign.
Особенности:
Подтверждение с помощью СМС возможно только для единичных документов.
Пакетное подтверждение невозможно.
2.8.5.2. Запрос на генерацию кода СМС и подтверждение кодом
СМС
2.8.5.2.1. Дайджест
Подпись запроса на генерацию кода СМС для подписи на стороне УС
(Request/GenSMSSign): нет
Дайджест: не формируется
Подпись отправляемого кода СМСна стороне УС: нет
Дайджест: не формируется
2.8.5.2.2. Формат взаимодействия
Взаимодействие: Запросы передаются из УС в СББОЛ
Инициатор: УС
Формат передачи запроса кода СМС: Request/GenSMSSign
Формат ответа с предоставлением криптопрофиля, которым должно быть
подписано сообщение с кодом СМС
(передается со стороны СББОЛ):
Response/SmsCryptoProfile
Формат передачи смс для подписи:Request/VerifySMSSign
Формат передачи со стороны СББОЛ сообщения о корректности ввода кода с
подтверждением: Response/Ticket:
 В случае успеха передается
Response/Tickets/Ticket/Info@statusStateCode=ACCEPTED
 В случае неуспеха передается
Response/Tickets/Ticket/Info@statusStateCode=FAIL
2.8.5.2.2.1. Формат передачи запроса СМС
Особенности:
В случае запроса на генерацию смс для подписи:
 Справочника Контрагентов - указывать GenSMSSign@dictName = Correspondent
В случае запроса на генерацию СМС для подписи ЭПД по инициативе Клиента (при
получении статуса "Создан" ("CREATED")):
 Рублевого платежного поручения - указывать GenSMSSign@docType =
PayDocRu
Request/GenSMSSign
Версионно
Элемент
Описание элемента
Тип
Описание типа
Мн.
сть
Request
Запрос УС к СББОЛ
Request
Актуально
[1]
с версии 27
Идентификатор
UUID
с
1
@orgId
UuidSeparated
организации в ДБО
разделителями
в
(может
быть
виде
дефисов.
Актуально
использован
Набор
из
32
[1]
с версии 27
сторонней системой
символов [0-9], [a-f]
для дополнительной
и дефисов
идентификации)
Уникальный
UUID
с
2
@requestId
UuidSeparated
идентификатор
разделителями
в
запроса
виде
дефисов.
Актуально
[1]
Набор
из
32
с версии 27
символов [0-9], [a-f]
и дефисов
Номер
версии
Простой тип XML
3
@version
xs:string
Актуально
формата обмена
Schema
RegEx:
"[0-
[1]
с версии 27
9\.]{1,20}"
Система-отправитель
Простой тип XML
4
@sender
xs:string
Schema
RegEx: "[-a-zA-
Актуально
[1]
Zа-яА-Я0-
с версии 27
9]{1,20}"
Система-получатель
-
Простой тип XML
5
@receiver
xs:string
если
система
Schema
RegEx: "[-a-zA-
Актуально
получатель СББОЛ, то
[0..1]
Zа-яА-Я0-
с версии 27
SBBOL_DBO
9]{1,20}"
Версия протокола
Простой тип XML
6
@protocolVersion
xs:string
[0..1]
Актуально
Schema
с версии 27
7
GenSMSSign
Запрос на генерацию
SMSSignReqP
Параметры
Актуально
SMS с кодом для
запроса на подпись
[1]
arams
с версии 27
подписи
с помощью SMS
Идентификатор
UUID
с
*.1
@objId
UuidSeparated
подписываемого
разделителями
в
объекта (документа
виде дефисов.
или записи) в СББОЛ
Набор из
32
Актуально
[1]
символов [0-9], [a-f]
с версии 27
и дефисов
Идентификатор
UUID
с
*.2
@objExtId
UuidSeparated
подписываемого
разделителями
в
объекта
(документа
виде
дефисов.
Актуально
[0..1]
или
записи)
во
Набор
из
32
с версии 27
внешней системе
символов [0-9], [a-f]
и дефисов
Тип подписываемого
Простой тип XML
*.3
@docType
xs:string
[min:
документа
(при
Schema
Актуально
1, max: 255]
[0..1]
подписывании
с версии 27
документа)
Наименование
Простой тип XML
*.4
@dictName
xs:string
[min:
справочника
(при
Schema
Актуально
1, max: 255]
[0..1]
подписывании записи
с версии 27
справочника)
Номер записи в
Простой тип XML
*.5
@numSt
xs:integer
Актуально
документе
Schema
[0..1]
с версии 27
Пример
<Request xmlns='http://bssys.com/upg/request' orgId='ea54da8f-8225-4f06-a23f-6fсa14531fe3'
requestId='a2bb73b0-0a9e-4ee0-8830-584c61b3498c' version='01.010.03' sender='Ромашка'
receiver='SBBOL_DBO'>
<GenSMSSign objId='8f74983c-e946-4bf1-a241-1cc401c11051' objExtId='8f74983c-e946-4bf1-
a241-1cc401c11051' dictName='correspondent'/>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>7541A7513BD77C428744</SN>
<Value>HogYstR6ZO9GI/itPXN05FXy39AZVSJWxLsOA36MnmRnLhLwzyLmYQe1Y7hGa2qW
WXvzpgQwtCfA7JGK+wVEug==</Value>
<PcPropHash>A7EE6A28082BB1CB725FBD8F400B825F7C6272165F3609A8C0C27A756DA9
947C39E006ED17EB03B32A8806D56D3C9A12AA334ECC3160228C89713808D2E46971</PcPropHas
h>
<Order>0</Order>
<SignDate>2017-05-24T18:03:21</SignDate>
</Sign>
</Request>
2.8.5.2.2.2. Формат передачи SMS-кода для подписи
Особенности:
В случае передачи смс-кода для подписи:
 Справочника Контрагентов - указывать VerifySMSSign@dictName =
Correspondent
 Рублевого платежного поручения - указывать VerifySMSSign@docType =
PayDocRu
Request/VerifySMSSign
Описание
Версионно
Элемент
Описание элемента
Тип
Мн.
типа
сть
Request
Запрос УС к СББОЛ
Request
Актуально
[1]
с версии 27
Уникальный
идентификатор
1
@requestId
UuidSeparated
UUID
с
запроса
разделителя
ми в виде
дефисов.
Актуально
[1]
Набор из
32
с версии 27
символов
[0-
9],
[a-f]
и
дефисов
Идентификатор организации в
2
@orgId
UuidSeparated
UUID
с
ДБО
(может быть использован
разделителя
сторонней
системой
для
ми в виде
дополнительной идентификации)
дефисов.
Актуально
[1]
Набор из
32
с версии 27
символов
[0-
9],
[a-f]
и
дефисов
Номер версии формата обмена
3
@version
xs:string
Простой тип
RegEx:
"[0-
XML Schema
Актуально
[1]
с версии 27
9\.]{1,20}"
Система-отправитель
4
@sender
xs:string
Простой тип
RegEx: "[-a-zA-
XML Schema
Актуально
[1]
Zа-яА-Я0-
с версии 27
9]{1,20}"
Система-получатель Если система
5
@receiver
xs:string
Простой тип
получатель
СББОЛ,
то
RegEx: "[-a-zA-
XML Schema
SBBOL_DBO
Актуально
Zа-яА-Я0-
[0..1]
с версии 27
9]{1,20}"
Версия протокола
6
@protocolVersion
xs:string
Простой тип
Актуально
[0..1]
XML Schema
с версии 27
Получение SMS с кодом для
7
VerifySMSSign
VerifySMSSign
Актуально
подписи
[1]
с версии 27
Код для подписи
*.1
@smsCode
xs:string
[min:
Простой тип
Актуально
[1]
1, max: 30]
XML Schema
с версии 27
GUID криптопрофиля
*.2
@cryptoProfileID
UuidSeparated
UUID
с
Должен
быть
передан
разделителя
криптопрофиль обязательно
ми в виде
дефисов.
Актуально
[1]
Набор из
32
с версии 27
символов
[0-
9],
[a-f]
и
дефисов
Идентификатор смс
*.3
@smsID
xs:string
Простой тип
Актуально
[0..1]
XML Schema
с версии 27
Параметры запроса на подпись с
*.4
SMSSignReqPara
SMSSignReqP
Параметры
помощью SMS
ms
arams
запроса на
Актуально
подпись
с
[1]
с версии 27
помощью
SMS
Идентификатор подписываемого
*.1
@objId
UuidSeparated
UUID
с
объекта (документа или записи) в
разделителя
СББОЛ
ми в виде
дефисов.
Актуально
[1]
Набор из
32
с версии 27
символов
[0-
9],
[a-f]
и
дефисов
Идентификатор подписываемого
*.2
@objExtId
UuidSeparated
UUID
с
объекта (документа или записи) во
разделителя
внешней системе
ми в виде
дефисов.
Актуально
[0..1]
Набор из
32
с версии 27
символов
[0-
9],
[a-f]
и
дефисов
Тип подписываемого документа
*.3
@docType
xs:string
[min:
Простой тип
(при подписывании документа):
1, max: 255]
XML Schema
PayDocRu - платежное поручение,
PayDocCur - платежное поручение
в иностранной валюте,
SalaryDoc - Электронный реестр
(Зарплатная ведомость)
Актуально
[0..1]
с версии 27
Наименование справочника
(при
*.4
@dictName
xs:string
[min:
Простой тип
Актуально
подписывании
записи
[0..1]
1, max: 255]
XML Schema
справочника)
с версии 27
Номер записи в документе
*.5
@numSt
xs:integer
Простой тип
Актуально
[0..1]
XML Schema
с версии 27
8
Fraud
Данные для fraud-мониторинга.
Fraud
Простой тип
Добавлено
0..1]
Информация о подписи
XML Schema
в версии 28
*.1
Login
Логин
xs:string
Простой тип
Добавлено
[1]*
XML Schema
в версии 28
Данные токена
*.2
TokenInfo
xs:string
Простой тип
Отображение в запросе
XML Schema
(разделитель «;»):
BCRYPT;;;;;
Отображение в интерфейсе:
Тип токена: TOKEN
Возможные значения:
TOKEN - обычный токен,
TOKEN_BU - токен с кнопкой,
TOKEN_SC - токен с экраном
BCRYPT - ПАК ФПСУ-IP или токен
ФПСУ-IP (в этом случае
остальную информацию о
Добавлено
[1]*
конфигурации не заполнять),
в версии 28
SMS — при подтверждении
операций кодом СМС (в этом
случае остальную информацию о
конфигурации не заполнять)
Информация о конфигурации
токена:
IС1_A10D0010L_C1_VT01KA02
Дата конфигурации: 2012-04-13
09:44:59.003
Серийный номер токена:
00041485B
Номер сборки токена: 100
*.3
HttpAcceptLangu
Список
поддерживаемых
xs:string
Простой тип
age
естественных языков Требуется
XML Schema
указать
локализацию
ОС
компьютера,
на
котором
установлен
БК,
Добавлено
Например,
для
английской
[1]*
локализации в качестве значения
в версии 28
атрибута указывается
- 'en-US',
для
русской
локализации
указывается - 'ru-RU'.
*.4
IpMACAddresses
IP и Mac адреса компьютера
xs:string
Простой тип
отправившего или подписавшего.
XML Schema
Добавлено
Формат:
[1]*
в версии 28
«remoteIP;remoteMac;ip1;mac1;ip2;
mac2»
*.5
GeolocationInfo
Геопозиционирование компьютера
xs:string
Простой тип
отправившего или подписавшего.
XML Schema
Добавлено
Формат:
[1]*
в версии 28
«Longitude;Latitude;HorizontalAccur
acy;Timestamp;Status»
*.6
PcProp
Уникальные свойтсва компьютера
xs:string
Простой тип
отправившего или подписавшего.
XML Schema
Формат: «UUID;Идентификатор
Добавлено
процессора;Серийный номер
[1]*
в версии 28
BIOS;Серийный номер жесткого
диска».
*.7
DevicePrint
Правила формирования значения
Простой тип
данного поля описаны в 1 части п.
XML Schema
Добавлено
[0..1]
«Правила формирования
в версии 28
значения параметра DevicePrint»
*Если нет технической возможности предоставить данные раздела фрод-мониторинга, то поле
можно передавать cо значением «null»
Пример
<Request xmlns='http://bssys.com/upg/request' orgId='ea54da8f-8225-4f06-a23f-6fсa14531fe3'
requestId='69ee70c7-0c6f-4388-af32-dd9d7d2da499' version='01.010.03' sender='Сбербанк Бизнес'
receiver='SBBOL_DBO'>
<VerifySMSSign smsCode='12345' cryptoProfileID='9334f212-3446-4d1d-9228-83b5bbac4c4e'>
<SMSSignReqParams objId='8f74983c-e946-4bf1-a241-1cc401c11051' objExtId='8f74983c-e946-
4bf1-a241-1cc401c11051' dictName='correspondent'/>
</VerifySMSSign>
<Fraud>
<LoginхТестов Тест Тестович</Loginх
<TokenInfo>TOKEN;IC0_T32S0000L_C1_VT407;11:52:45
17.02.2017;TLS00691759C;11;1</TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.221;8C-89-A5-3D-DD-48</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>EB319498-F34E-11E0-849C-08B6DAA42500;BFEBFBFF000206A7;R8VN9E2;WD-
WCC2EHRFJCC8</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.010.03%26pm_fps
c%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514%7Cwnt%3D6%2C1%2C76
01%2C18952%7Cdht%3D11%2C0%2C9600%2C18537%7Cie5%3D%7Cibe%3D11%2C0%2C9600%2C18537%7Cieh%
3D11%2C0%2C9600%2C18537%7Ciee%3D6%2C3%2C9600%2C18537%7Cwmp%3D12%2C0%2C7601%2C19148%7
Cobp%3D11%2C0%2C9600%2C18537%7Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0%2C8833%26
pm_fptz%3D3%26pm_fpln%3Dlang%3Dru%7Csyslang%3Dru%7Cuserlang%3Dru%26pm_fpjv%3D0%26pm_fpco%3
D0%26pm_fpasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%26pm_fpol%3Dfalse%26pm_fposp%3D%26pm
_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsbd%3D%26pm_fpsdx%3D96%26pm_fpsdy%3D
96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%26pm_fpsui%3D%26pm_os%3DWindows%26
pm_brmjv%3D01.010.03%26pm_br%3DSBB%26pm_inpt%3D%26pm_expt%3D</DevicePrint>
</Fraud>
</Request>
2.8.5.3. Запрос таймаута действия кода СМС
2.8.5.3.1. Дайджест
Подпись запроса таймаута действия смс-пароля на стороне УС:
Подписывается одной подписью или набором подписей:
 Единственная подпись или
 Первая подпись и Вторая подпись
Дайджест: формируется
Подпись ответа с таймаутом действия смс-пароля на стороне СББОЛ:
Подписывается технологической подписью Банка.
Дайджест: формируется
Ключевой буфер (дайджест):
 Для формирования электронной подписи из документа формируется строковая
последовательность (ключевой буфер или дайджест), включающая все
значимые данные документа, поля, содержащие пустые значения, не
включаются.
 Ключевой буфер (дайджест) для подписания ЭП образует строковый массив в
кодировке UTF-8, Отдельные записи массива разделены символом перевода
строки. В качестве символа перевода строки используется 0x0A.
 Для отделения некоторых видов данных друг от друга в дайджест включены
«заголовки», такие как ATTRIBUTES. Эти «заголовки» не несут информации
исходного документа, а служат для внутренней организации данных в
дайджесте. «Заголовки» указываются в отдельной строке, где кроме них ничего
нет.
 При наличии в мультистроковых данных последовательности из двух символов
перевода строки CR+LF (ASCII 0x0D 0x0A) необходимо удалять символ
возврата каретки CR (ASCII 0x0D) и оставлять только символ подачи строки LF
(ASCII 0x0A).
Формат дайджеста запроса:
Версионно
Наименование поля
Описание
Пример значения
п/п
сть
1.
ATTRIBUTES
Актуально с
<Наименование поля>=<Значение поля>, например
версии 27
OrgId=963084ba-7079-4b9d-bbab-c4972dee82d9
2.
OrgId
Идентификатор организации
Актуально с
123456e9-69ae-40d4-
ДБО
версии 27
b5e2-b7e60f2a3fd7
3.
RequestId
Идентификатор запроса
fb8360e9-69ae-40d4-
Актуально с
b5e2-b7e60f2a3fd7
версии 27
Формат дайджеста ответа:
Версионно
Наименование поля
Описание
Пример значения
п/п
сть
1.
ATTRIBUTES
Актуально с
<Наименование поля>=<Значение поля>, например
версии 27
OrgId=963084ba-7079-4b9d-bbab-c4972dee82d9
2.
Идентификатор запроса
RequestId
fb8360e9-69ae-40d4-
Актуально с
b5e2-b7e60f2a3fd7
версии 27
3.
Отправитель, а также тип
ResponseId
fb8360e9-69ae-40d4-
использованного
Клиентом
Актуально с
программного обеспечения при
b5e2-b7e60f2a4569
версии 27
отправке документа
4.
FIELDS
<Наименование поля>=<Значение поля>, например
Актуально с
версии 27
BeginDate=2011-11-24
После последней строки НЕ делать перевод строки
5.
Таймаут действия смс-пароля в
123
Актуально с
GeneralSmsTimeout
миллисекундах
версии 27
6.
Таймаут действия смс-пароля в
124
Актуально с
FraudSmsTimeout
миллисекундах
версии 27
2.8.5.3.2. Формат запроса таймаута действия смс-пароля
Request/SmsTimeouts
Описание
Версионнос
Элемент
Описание элемента
Тип
Мн.
типа
ть
Request
Запрос УС к СББОЛ
Request
Актуально с
[1]
версии 27
Идентификатор организации в
UUID
с
1
@orgId
UuidSeparated
ДБО
(может
быть
разделителям
использован
сторонней
и
в
виде
Актуально с
системой
для
дефисов.
[1]
версии 27
дополнительной
Набор из
32
идентификации)
символов [0-9],
[a-f] и дефисов
Уникальный идентификатор
UUID
с
2
@requestId
UuidSeparated
запроса
разделителям
и
в
виде
Актуально с
дефисов.
[1]
версии 27
Набор из
32
символов [0-9],
[a-f] и дефисов
Номер версии формата
Простой тип
3
@version
xs:string
Актуально с
обмена
XML Schema
RegEx:
"[0-
[1]
версии 27
9\.]{1,20}"
Система-отправитель
Простой тип
4
@sender
xs:string
XML Schema
RegEx: "[-a-zA-
Актуально с
[1]
Zа-яА-Я0-
версии 27
9]{1,20}"
Система-получатель
- если
Простой тип
5
@receiver
xs:string
система получатель СББОЛ,
XML Schema
RegEx: "[-a-zA-
Актуально с
то SBBOL_DBO
[0..1]
Zа-яА-Я0-
версии 27
9]{1,20}"
Версия протокола
Простой тип
6
@protocolVersion
xs:string
[0..1]
Актуально с
XML Schema
версии 27
Запрос
на
получение
7
SmsTimeouts
Актуально с
таймаутов действия смс-
[1]
версии 27
пароля
2.8.5.3.3. Формат получения ответа с таймаутом действия смс-
пароля
Response/SmsTimeouts
Версионнос
Элемент
Описание элемента
Тип
Описание типа
Мн.
ть
Response
Ответ СББОЛ на запрос
Response
Актуально с
[1]
УС
версии 27
Дата
и
время
Простой тип XML
1
@createTime
xs:dateTime
формирования ответа
Schema
местному по времени
Актуально с
[0..1]
запрашивающего
версии 27
сервера, с указанием
его часового пояса
Уникальный
UUID
с
2
@responseId
UuidSeparate
идентификатор ответа
разделителями в
d
виде
дефисов.
Актуально с
[0..1]
Набор из
32
версии 27
символов [0-9], [a-
f] и дефисов
Идентификатор
UUID
с
3
@requestId
UuidSeparate
запроса, в результате
разделителями в
d
которого
был
виде
дефисов.
Актуально с
[0..1]
сформирован данный
Набор из
32
версии 27
ответ
символов [0-9], [a-
f] и дефисов
Номер версии формата
Простой тип XML
4
@version
xs:string
Актуально с
обмена
Schema
RegEx: "[0-
[0..1]
версии 27
9\.]{1,20}"
Система-отправитель
xs:string
Простой тип XML
5
@sender
RegEx:
«[-a-
Schema
Актуально с
[0..1]
zA-Zа-яА-Я0-
версии 27
9: _]{1,20}»
Система-получатель -
xs:string
Простой тип XML
6
@receiver
если система
RegEx:
«[-a-
Schema
Актуально с
[0..1]
получатель СББОЛ, то
zA-Zа-яА-Я0-
версии 27
SBBOL_DBO
9: _]{1,20}»
Таймауты
действия
7
SmsTimeouts
Актуально с
смс-пароля
[0..1]
версии 27
Таймаут
в
xs:long
*.1
GeneralSmsTimeout
Актуально с
[1]
миллисекундах
версии 27
Таймаут
в
xs:long
*.2
FraudSmsTimeout
Актуально с
миллисекундах
[1]
версии 27
DigitalSign
*.3
Sign
Актуально с
[0..1]
версии 27
Поставщик
Простой тип XML
*.1
ISSUER
xs:string
[min:
сертификата.
Schema
1, max: 1024]
Обязательно и
достаточно для
идентификации
Актуально с
[1]
клиентского
версии 27
сертификата в СББОЛ
передавать атрибут CN
поля ISSUER в виде
«CN=<значение
атрибута>»
Серийный номер
Простой тип XML
Актуально с
*.2
SN
xs:string
[min:
[1]
сертификата
Schema
версии 27
1, max: 255]
Значение ЭП
Простой тип XML
Актуально с
*.3
Value
xs:base64Bin
[1]
Schema
версии 27
ary
Имя схемы подписи
Простой тип XML
Актуально с
*.4
DigestName
xs:string
[0..1]
Schema
версии 27
*.5
DigestVersion
Версия схемы подписи
Простой тип XML
Актуально с
xs:string
[0..1]
Schema
версии 27
2.8.6. Контроль используемой архитектуры
При передаче сообщений со стороны УС в СББОЛ может быть указана используемая
архитектура:
 В методе WSDL веб-сервиса sendPcHash - передается свертка уникальных
параметров транспортного компьютера.
 В сообщении Request/Sign/PcPropHash - передается свертки уникальных
параметров клиентского компьютера для каждого подписанта.
2.8.7.Передача параметров ФРОД-мониторинга
2.8.7.1. Общие сведения
Если в описании запроса указано, что его необходимо подписывать первой и/или
второй, или единственной подписью, то при отправке запроса в СББОЛ, в составе
запроса должен присутствовать элемент Request/Sign. Особенности:
 При подписании запроса единственной подписью, в его составе передается 1
элемент Request/Sign;
 При подписании запроса первой и второй подписью, в его составе передается
2 элемента Request/Sign, содержащие, соответственно, первую и вторую
подписи.
Если на стороне Банка, в АС СББОЛ, в настройках организации включен параметр
«ФРОД-мониторинг», то для корректного приема документов УС Клиента должна
вместе с документами передавать параметры ФРОД-мониторинга в составе элемента
Request/Sign и в составе элемента Request/Fraud.
Ниже приведено описание форматов данных элементов.
2.8.7.2. Формат элемента Request/Sign
Request/Sign
Версионно
Элемент
Описание элемента
Тип
Описание типа
Мн.
сть
Request
Запрос УС к СББОЛ
Request
Актуально
[1]
с версии 27
@requestId
Уникальный идентификатор
UuidSepar
UUID с
1
запроса
ated
разделителями
в виде дефисов.
Актуально
[1]
Набор из 32
с версии 27
символов [0-9],
[a-f] и дефисов
@orgId
Идентификатор организации в ДБО
UuidSepar
UUID с
2
(может быть использован сторонней
ated
разделителями
системой для дополнительной
в виде дефисов.
Актуально
[1]
идентификации)
Набор из 32
с версии 27
символов [0-9],
[a-f] и дефисов
@version
Номер версии формата обмена
xs:string
3
Актуально
RegEx: [0-
[1]
с версии 27
9\.]{1,20}
@sender
Система-отправитель
xs:string
4
RegEx: [-a-
Актуально
zA-Zа-яА-
[1]
с версии 27
Я0-9:
_]{1,20}
@receiver
Система-получатель Если система
xs:string
5
получатель СББОЛ, то SBBOL_DBO
RegEx: [-a-
Актуально
zA-Zа-яА-
[0..1]
с версии 27
Я0-9:
_]{1,20}
@protocolVersion
Версия протокола
xs:string
Простой тип
[0..1]
Актуально
6
XML Schema
с версии 27
7
Sign
ЭП клиента
DigitalSig
Актуально
[0..n]
n
с версии 27
*.1
Issuer
Идентификатор поставщика
xs:string
сертификата, например, "
[min: 1,
Актуально
issuer="E=IdleCA, C=RU, S=Idle CA,
max: 1024]
[1]
с версии 27
L=Idle CA, O=Idle CA, OU=Idle CA,
CN=Idle CA" "
*.2
SN
Серийный номер сертификата
xs:string
Актуально
[min: 1,
[1]
с версии 27
max: 255]
*.3
Value
Значение ЭП
xs:base64
Актуально
[1]
Binary
с версии 27
*.4
DigestName
Имя схемы подписи
xs:string
Актуально
[0..1]
с версии 27
*.5
DigestVersion
Версия схемы подписи
xs:string
Актуально
[0..1]
с версии 27
*.6
PcPropHash
Уникальные свойства компьютера,
xs:string
осуществляющего установку сеанса
связи, SHA 512 от значения PcProp.
Содержит следующие параметры:
∙ UUID
∙ Идентификатор процессора
∙ Серийный номер BIOS
∙ Серийный номер жесткого диска.
Актуально
[0..1]
с версии 27
Передаваться должны в виде
строки с разделителем «;».
Формат передачи:
«UUID;Идентификатор
процессора;Серийный номер
BIOS;Серийный номер жесткого
диска».
*.7
Fraud
Данные для fraud-мониторинга.
Fraud
Информация о подписи
Актуально
[0..1]
с версии 27
Реализация данного поля
рекомендована со стороны банка
*.1
Login
Логин сотрудника - подписанта
xs:string
Латинские и
русские
символы,
включая
Изменено в
[1]*
спецсимволы, за
версии 33
исключением
фигурных
скобок
*.2
TokenInfo
Данные токена используемого для
xs:string
защиты канала
Отображение в запросе
(разделитель «;»):
BCRYPT;;;;;
Отображение в интерфейсе:
Тип токена: TOKEN
Возможные значения:
TOKEN - обычный токен,
TOKEN_BU - токен с кнопкой,
TOKEN_SC - токен с экраном
Актуально
BCRYPT - ПАК ФПСУ-IP или токен
[1]*
с версии 27
ФПСУ-IP (в этом случае остальную
информацию о конфигурации не
заполнять)
Информация о конфигурации
токена:
IС1_A10D0010L_C1_VT01KA02
Дата конфигурации: 2012-04-13
09:44:59.003
Серийный номер токена: 00041485B
Номер сборки токена: 100
*.3
HttpAccept
Список поддерживаемых
xs:string
Language
естественных языков Требуется
указать локализацию ОС
компьютера, на котором установлен
Актуально
БК, Например, для английской
[1]*
с версии 27
локализации в качестве значения
атрибута указывается - 'en-US', для
русской локализации указывается -
'ru-RU'.
*.4
IpMACAddr
IP и Mac адреса компьютера
xs:string
esses
подписавшего. Формат:
«remoteIP;remoteMac;ip1;mac1;ip2;m
Актуально
[1]*
ac2» (пример заполнения только ip
с версии 27
<IpMACAddresses>10.23.168.2;;</Ip
MACAddresses>)
*.5
Geolocation
Информация о геопозиции
xs:string
Info
компьютера,
осуществляющегоподпись
документа. Имеет следующие
параметры:
Longitude
Latitude
HorizontalAccuracy
Timestamp
Status
Statusможет принимать следующие
значения:
0=success. Геопозиция получена
1=deny. У пользователя
отсутствуют права получения
геопозиции
2 = location status not available.
Геопозиция не доступна
3=locationstatustimeout. Ответ о
Актуально
геопозиции не получен из-за
[1]*
с версии 27
истечения таймаута
4=locationstatusnotsupported.
Получение геопозиции не
поддерживается.
Параметры должны передаваться в
виде строки с разделителями «;».
Формат:
Longitude;Latitude;HorizontalAccuracy
;Timestamp;Status
Пример значения:
32.54148224;35.16385756;75;201110
622102211;0
В случае отсутствия какого-либо
параметра значение не
вписывается, ставится
разделитель. (Аналогично формату
csv).
<GeolocationInfo>;;;;4</GeolocationIn
fo>
*.6
PcProp
Уникальные свойтсва компьютера
xs:string
подписавшего. Формат:
«UUID;Идентификатор
процессора;Серийный номер
Актуально
[1]*
BIOS;Серийный номер жесткого
с версии 27
диска». (пример заполнения части
данных <PcProp>;;;;PBAF441;
Z2AMA1FK</PcProp>)
*.7
DevicePrint
Закодированное значение,
xs:string
сформированное согласно
[min: 1]
Актуально
описанию в п. «Правила
[0..1]
с версии 27
формирования значения параметра
DevicePrint»
*.8
Order
Очередность наложения подписи
xs:int
(какая подпись когда была
наложена) в случае наложения
Актуально
[0..1]
подписи и удаления ее, порядок
с версии 27
должен сдвигаться соответственно
влево
*.9
SignDate
Дата/Время подписи Пример: 2012-
xs:dateTim
Актуально
[0..1]
04-13 09:44:59.003
e
с версии 27
*Если нет технической возможности предоставить данные раздела фрод -мониторинга, то
поле можно передавать cо значением «null»
2.8.7.3. Формат элемента Request/Fraud
Request/Fraud
Описание
Версионно
Элемент
Описание элемента
Тип
Мн.
типа
сть
Request
Запрос УС к СББОЛ
Request
Актуально
[1]
с версии 27
1
@requestId
Уникальный идентификатор запроса
UuidSepar
UUID с
ated
разделителям
и в виде
Актуально
дефисов.
[1]
с версии 27
Набор из 32
символов [0-9],
[a-f] и дефисов
2
@orgId
Идентификатор организации в ДБО
UuidSepar
UUID с
(может быть использован сторонней
ated
разделителям
системой для дополнительной
и в виде
Актуально
идентификации)
дефисов.
[1]
с версии 27
Набор из 32
символов [0-9],
[a-f] и дефисов
3
@version
Номер версии формата обмена
xs:string
Актуально
RegEx: [0-
[1]
с версии 27
9\.]{1,20}
4
@sender
Система-отправитель
xs:string
RegEx: [-a-
Актуально
zA-Zа-яА-
[1]
с версии 27
Я0-9:
_]{1,20}
5
@receiver
Система-получатель Если система
xs:string
получатель СББОЛ, то SBBOL_DBO
RegEx: [-a-
Актуально
zA-Zа-яА-
[0..1]
с версии 27
Я0-9:
_]{1,20}
6
@protocolVersio
Версия протокола
xs:string
Простой тип
[0..1]
Актуально
n
XML Schema
с версии 27
7
Fraud
Данные для fraud-мониторинга.
Fraud
Информация об отправившем
документ в банк
Актуально
[0..1]
с версии 27
Реализация данного поля
рекомендована со стороны банка
*.1
Login
Логин, используемый для открытия
xs:string
Латинские и
сессии с УПШ
русские
символы,
включая
Изменено в
спецсимволы,
[1]*
версии 33
за
исключением
фигурных
скобок
*.2
TokenInfo
Данные токена
xs:string
Отображение в запросе (разделитель
«;»):
BCRYPT;;;;;
Отображение в интерфейсе:
Тип токена: TOKEN
Возможные значения:
TOKEN - обычный токен,
TOKEN_BU - токен с кнопкой,
TOKEN_SC - токен с экраном
Актуально
BCRYPT - ПАК ФПСУ-IP или токен
[1]*
с версии 27
ФПСУ-IP (в этом случае остальную
информацию о конфигурации не
заполнять)
Информация о конфигурации токена:
IС1_A10D0010L_C1_VT01KA02
Дата конфигурации: 2012-04-13
09:44:59.003
Серийный номер токена: 00041485B
Номер сборки токена: 100
*.3
HttpAccept
Список поддерживаемых естественных
xs:string
Language
языков Требуется указать
локализацию ОС компьютера, на
котором установлен БК, Например, для
Актуально
[1]*
английской локализации в качестве
с версии 27
значения атрибута указывается - 'en-
US', для русской локализации
указывается - 'ru-RU'.
*.4
IpMACAddr
IP и Mac адреса компьютера
xs:string
esses
отправившего. Формат:
«remoteIP;remoteMac;ip1;mac1;ip2;mac2
Актуально
[1]*
» (пример заполнения только ip
с версии 27
<IpMACAddresses>10.23.168.2;;</IpMA
CAddresses>)
*.5
Geolocation
Информация о геопозиции
xs:string
Info
компьютера, осуществляющего
установку сеанса связи. Имеет
следующие параметры:
Longitude
Latitude
HorizontalAccuracy
Timestamp
Status
Status может принимать следующие
значения:
0=success. Геопозиция получена
1=deny. У пользователя отсутствуют
права получения геопозиции
2 = location status not available.
Геопозиция не доступна
3=locationstatustimeout. Ответ о
Актуально
[1]*
геопозиции не получен из-за истечения
с версии 27
таймаута
4=locationstatusnotsupported.
Получение геопозиции не
поддерживается.
Параметры должны передаваться в
виде строки с разделителями «;».
Формат:
Longitude;Latitude;HorizontalAccuracy;Ti
mestamp;Status
Пример значения:
32.54148224;35.16385756;75;20111062
2102211;0
В случае отсутствия какого-либо
параметра значение не вписывается,
ставится разделитель. (Аналогично
формату csv).
<GeolocationInfo>;;;;4</GeolocationInfo>
*.6
PcProp
Уникальные свойства компьютера
xs:string
отправившего. Формат:
«UUID;Идентификатор
процессора;Серийный номер
Актуально
[1]*
BIOS;Серийный номер жесткого
с версии 27
диска». (пример заполнения части
данных <PcProp>;;;;PBAF441;
Z2AMA1FK</PcProp>)
*.7
DevicePrint
Закодированное значение,
xs:string
сформированное согласно описанию в
[min: 1]
Актуально
[0..1]
п. «Правила формирования значения
с версии 27
параметра DevicePrint»
*Если нет технической возможности предоставить данные раздела фрод - мониторинга, то
поле можно передавать со значением «null»
Пример отправки рублевого платежного поручения
<Request xmlns='http://bssys.com/upg/request' orgId='ea54da8f-8225-4f06-a53f-6f9a19531fe3' requestId='6b60a892-
c997-4bf8-8436-c6a3ad069506' version='01.005.01' sender='Ромашка' receiver='SBBOL_DBO'>
<PayDocRu docExtId='6b60a892-c997-4bf8-8436-c6a3ad069506' sentForSign='0'>
<AccDoc accDocNo='2' docDate='2016-08-22' docSum='125' transKind='01' paytKind='электронно'
priority='5'>
<Purpose>на оплату</Purpose>
</AccDoc>
<Payer inn='7728179740' personalAcc='40702810138000039076'>
<Name>Общество с ограниченной ответственностью &quot;ЯМ
Интернешнл
(СНГ)&quot;</Name>
<Bank bic='044525225' correspAcc='30101810400000000225'>
<Name>ПАО СБЕРБАНК</Name>
<BankCity>МОСКВА</BankCity>
<SettlementType>Г</SettlementType>
</Bank>
</Payer>
<Payee inn='7706664260' personalAcc='47408810038040100029'>
<Name>АО &quot;РОМАШКА&quot;</Name>
<Bank bic='044525225' correspAcc='30101810400000000225'>
<Name>ПАО СБЕРБАНК</Name>
</Bank>
</Payee>
<Credit flagTargetAssignment='0' flagUseOwnMeans='0'/>
</PayDocRu>
<Sign>
<Issuer>CN=ЛавринСВ-Тестовая печать-УЦ-9</Issuer>
<SN>74431C03FC68F0F54973</SN>
<Value>dnenujcvma20d0W4S98ucGOcXAmFUYeevq2SVUapKbY6JdjrsGE4gvN5u6myqSBiAXjdSD3xK3ZD
oF7ixWIRmg==</Value>
<PcPropHash>ECCB0C2EA8F72D3961A9BADFC5BF67A4C1E3154A59F2CC39A62F9EA6976426481DE75
A977F79BD00CDE82E059126EBAA2B496D2F5C4182EF91EB9798EF62B32E</PcPropHash>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
<DevicePrint>version%3D3.4.1.0_1%26pm_fpua%3DWin64%7C0%7Cx64%7Cru%7C01.005.00%26pm_fpsc
%3D32%7C1600%7C900%7C1600%26pm_fpsw%3Dabk%3D6%2C1%2C7601%2C17514%7Cwnt%3D6%2C1%2C7
601%2C18952%7Cdht%3D11%2C0%2C9600%2C18376%7Cie5%3D%7Cibe%3D11%2C0%2C9600%2C18376%7Ci
eh%3D11%2C0%2C9600%2C18376%7Ciee%3D6%2C3%2C9600%2C18376%7Cwmp%3D12%2C0%2C7601%2C1
9148%7Cobp%3D11%2C0%2C9600%2C18376%7Coex%3D6%2C1%2C7601%2C17514%7Cvbs%3D5%2C6%2C0
%2C8833%26pm_fptz%3D3%26pm_fpln%3Dlang%3Dru%7Csyslang%3Dru%7C
_IP_CHANGED
lang%3Dru%26pm_fpjv%3D0%26pm_fpco%3D0%26pm_fpasw%3D%26pm_fpan%3DSBB%26pm_fpacn%3DSBB%
26pm_fpol%3Dfalse%26pm_fposp%3D%26pm_fpup%3D%26pm_fpsaw%3D1600%26pm_fpspd%3D32%26pm_fpsb
d%3D%26pm_fpsdx%3D96%26pm_fpsdy%3D96%26pm_fpslx%3D96%26pm_fpsly%3D96%26pm_fpsfse%3Dfalse%
26pm_fpsui%3D%26pm_os%3DWindows%26pm_brmjv%3D01.005.00%26pm_br%3DSBB%26pm_inpt%3D%26pm_
expt%3D</DevicePrint>
</Fraud>
<Order>0</Order>
<SignDate>2016-08-22T13:12:25</SignDate>
</Sign>
<Fraud>
<Login>Тестовый Пользователь</Login>
<TokenInfo> BCRYPT;;;;; </TokenInfo>
<HttpAcceptLanguage>ru-RU</HttpAcceptLanguage>
<IpMACAddresses>10.23.168.2;C8-9C-DC-E1-19-90</IpMACAddresses>
<GeolocationInfo>;;;;4</GeolocationInfo>
<PcProp>8FBE0BC4-5F7C-11E1-AEBF-
DF3EA9FF2800;BFEBFBFF000206A7;PBAF441;
Z2AMA1FK</PcProp>
</Fraud>
</Request>
История изменений
Дата
Версия
Описание
Флаг
совместимости
Версия 31.000.00
20.08.2018
2.24
Добавлено уточнение в раздел «Особенности взаимодействия УС
Рекомендуется
холдинга с УПШ»:
тестирование со
стороны УС
4) Головная организация не может подписывать электронные
документы, отвечающие за расходные операции по дочерним
клиента.
счетам
24.08.2018
2.25
В таблице «Сведения о владельце и атрибутах сертификата»
Рекомендуется
изменено описание «Идентификатор Бикрипт»
тестирование со
стороны УС
клиента.
02.10.2018
2.26
Добавлено
поле
Рекомендуется
Request/CertifRequest/@cryptoAlgorithmStandard
-
Стандарт
тестирование со
алгоритма формирования и проверки ЭЦП
стороны УС
клиента.
Версия 32.000.00
09.11.2018
2.27
Изменена
«Таблица
- Сведения о владельце и атрибутах
Рекомендуется
сертификата» в рамках ГОСТ 2012
тестирование со
стороны УС
клиента.
13.12.2018
2.28
Из таблицы «Типы документов» исключены элементы:
Рекомендуется
тестирование со
 Запрос на отзыв документа по валютному счету
стороны УС
Запрос на отзыв документа по рублевому счету
клиента.
21.12.2018
2.29
Элемент
Не совместимо с
Request/CertifRequest/Docs/Doc/Attachment/AttachmentName стал
предыдущей
обязательным
версией
22.12.2018
2.30
Изменено примечание к правилам формирования дайджеста «В
Не совместимо с
XML-сообщении
могут
содержаться
символьные
предыдущей
последовательности,
являющиеся
зарезервированными
версией
сущностями в XML
(<>&'").
Такие
последовательности должны включаться в дайджест без
преобразования.» на
«В XML-сообщении могут содержаться
символьные
последовательности,
являющиеся
зарезервированными
сущностями
в
XML
(<>&'"). Для включения в дайджест, такие
последовательности должны быть преобразованы в
служебные символы (<,>,&,‘,“), если не указано обратного.»
09.01.2019
2.31
Уточнено описание раздела
«Особенности взаимодействия УС
Рекомендуется
холдинга с УПШ» в части того, что ГК может забирать только
тестирование со
выписки и почтовые сообщения дочки, если запрос подписан у.з.
стороны УС
головы.
клиента.
09.01.2019
2.32
Добавлен раздел «Пакетная отправка документов»
Совместимо с
предыдущей
версией
09.01.2019
2.33
Дополнено описание раздела
«Запрос на выпуск нового
Не совместимо с
сертификата» и соответствующего элемента
@protocolVersion:
предыдущей
«Версионность по запросу на сертификат не поддерживается, при
версией
разработке данного функциоанала, необходимо использовать
последнюю версию спецификации.»
15.02.2019
2.34
Значение фрод-параметра ChannelIndicator исправлено на
Не совместимо с
актуальное «SBB»
предыдущей
версией
Версия 32.001.00
Для использования версии документации
32.001.00, следует
указывать в запросах и документах значение @protocolVersion=32
Версия 33.000.00
28.06.2019
2.35
Для Request/CertifRequest/@cryptoAlgorithmStandard добавлено
Совместимо с
примечание: следует указывать значение GOST_2012, т.к.
предыдущей
поддержка GOST_2001 завершается.
версией
01.07.2019
2.36
В Таблице «Сведения о владельце и атрибутах сертификата», в
Не совместимо с
соответствии с требованиями УЦ, изменен набор элементов
предыдущей
«Параметры по ГОСТ Р 34.10-2012» и его иерархия
версией
01.07.2019
2.37
В разделы «Особенности получения статусов об обработке из
Совместимо с
СББОЛ» добавлена информация о том, что Путем запроса со
предыдущей
стороны
УС в формате
Request/DocIds/DocId
в
версией
Tickets/Ticket/Info/BankDate/@statusDateTime возвращается дата и
время присвоения статуса.
02.07.2019
2.38
В связи с вступлением ГОСТ2012, уточнено, что при
Рекомендуется
аутентификации с использованием сертификата ЭП, должна
тестирование со
использоваться подпись в формате CMS. Обновлены
стороны УС
соответствующие примеры взаимодействия preLoginSign-loginSign
клиента.
05.07.2019
2.39
Изменено описание типа элемента Fraud/Login
Совместимо с
предыдущей
версией
06.07.2019
2.40
В режиме STANDIN_9999 доступен весь функционал УПШ, в
Рекомендуется
раздел «Режимы работы канал УПШ» внесена соответствующая
тестирование со
правка.
стороны УС
клиента.
Добавлен пример запроса Request/CertifRequest по ГОСТ 2012
06.07.2019
2.41
Совместимо с
Добавлен пример заполнения полей запроса в формате PKCS#10
предыдущей
по ГОСТ 2012.
Добавлен пример печатной формы сертификата по ГОСТ 2012.
версией
07.07.2019
2.42
Дополнено описание в разделе «Работа с электронной подписью»,
Рекомендуется
добавлены примеры подписи по ГОСТ 2001 и ГОСТ 2012
тестирование со
стороны УС
клиента.
07.07.2019
2.43
Обновлены примеры печатных форм заявления на выпуск
Рекомендуется
сертификата
тестирование со
стороны УС
клиента.
07.07.2019
2.44
Приведен в соответствие с мастер-системой алгоритм нумерации
Не совместимо с
ПКК для Идентификатора Бикрипт (bicryptId)
предыдущей
версией
Таблица - Сведения о владельце и атрибутах сертификата
06.04.2020
2.45
Рекомендуется
Поля
2.5.4.12(должность)
и
1.2.840.113549.1.9.1
(адрес
тестирование со
электронной почты) - обязательны заполнения
стороны УС
клиента.
Добавлен раздел с описанием проверки ФИО пользователя в
запросе сертификата (ссылка 2.8.4.1.3.1)

 

 

 

 

 

 

 

содержание      ..      1      2      3      ..