ym88659208ym87991671
Криптографические ресурсы - интеграция для партнеров | Документация SmartMarket
Skip to main content

Криптографические ресурсы

Терминология

КУЦ - код удостоверяющего центра. Является уникальным идентификатором организации в УЦ Сбербанка.

Токен - физический носитель для хранения сертификатов банка и авторизации токен-пользователя в веб-канале СББОЛ.

Инфокрипт-токен - разновидность токена банка, разработанного компанией ООО Фирма «ИнфоКрипт».

Rutoken - разновидность токена банка, разработанного компанией АО «Актив-софт».

СББОЛ - Сбербанк Бизнес Онлайн.

CMS - Cryptographic Message Syntax, в API используется в виде контейнера, в котором передается запрос на сертификат формата PKCS #10.

Bicrypt ID - идентификатор сертификата, который состоит из (КУЦ) + (номер сертификата) + (тип сертификата: s-сертификат пользователя; t-сертификат TLS) + (ФИО пользователя клиента).

ЭП/ЭЦП/ЦП - электронная цифровая подпись, которая формируется закрытым ключом сертификата ЭП.

Сертификат ЭП - сертификат электронной подписи, используется для идентификации ЭЦП клиента в полученном документе.

Пользователь партнера - учетная запись в организации, которая является владельцем сервиса.

Пользователь клиента - учетная запись в организации, которая не является владельцем сервиса.

Назначение

В API можно отправлять документы с ЭЦП или без ЭЦП:

  • С ЭЦП - документ будет автоматически направляться для исполнения в АБС банка, при условии достаточности количества ЭП под документом.
  • Без ЭЦП - документ будет создаваться в СББОЛ в виде черновика. Если клиент в СББОЛ не подпишет черновик документа, то документ не будет отправлен на обработку.

Использование сертификатов ЭП в API необходимо для автоматизации процесса подписания отправляемых документов.

Пример использования

На ресурс /v1/payments можно отправить документ с ЭЦП, которая будет указана в блоке digestSignatures в поле «base64Encoded» (Signature в модели JSON).

"digestSignatures":  [{
"base64Encoded" (string): Значение электронной подписи, закодированное в Base64: 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
"certificateUuid" (string): Уникальный идентификатор сертификата ключа проверки электронной подписи(UUID): 77507d30-c4ac-44bd-9c92-245e7d96a384
}
]

Работа с сертификатом ЭП в API

Для одной учетной записи партнера можно выпустить несколько сертификатов, но активным может быть только один сертификат. Рекомендуется создание дублирующей учетной записи с правом подписи, это необходимо, чтобы иметь возможность продолжить работать в СББОЛ и использовать новый сертификат в API.

Таким образом, у одного пользователя партнера могут быть заведены несколько разных учетных записей в одной организации:

  • Первая - для работы в СББОЛ.
  • Вторая - для подписания документов в API.

Создание дополнительной учетной записи

Способ 1

Создать учетную запись с правом подписи по инструкции в СберБизнес.

danger

Создание учетной записи доступно только для пользователей с полномочиями ЕИО (Единоличный исполнительный орган).

Также необходимо учесть , что у партнера может отсутствовать функционал в СББОЛ.


Способ 2

Заполнить форму заявления.

Отнести готовое заявление в любое отделение Сбербанка, которое занимается обслуживанием юридических лиц.


Список популярных методов для которых требуется ЭП:

  • Рублевое платежное поручение
  • Зарплатный проект
  • Запрос на холдирование средств
  • Исходящее платежное требование
  • Валютное платежное поручение

Сертификат выпускается на 15 месяцев. Пользователь самостоятельно определяет полномочия и ролевую модель для новой учетной записи в соответствии с его потребностями.

По факту истечения срока действия сертификата или в любой момент времени возможно создание нового сертификата через API.

При выпуске сертификата в СББОЛ с использованием токена нельзя экспортировать закрытый ключ из токена, т.е. формирование ЭП для API можно будет выполнять только при обращении к токену.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://edupirfintech.sberbank.ru:9443

  • Промышленный контур https://fintech.sberbank.ru:9443


Схема процесса

1. Получите КУЦ GET /v1/crypto

2. Создайте сертификат в СББОЛ или с помощью криптопровайдеров

3. Отправьте сертификат POST /v1/crypto/cert-requests

4. Получите статус сертификата GET /v1/crypto/cert-requests/{externalId}/state

  • Если статус ACCEPTED - перейдите к следующему шагу
  • Если статус CHECKERRORили REQUISITEERROR - направьте обращение в поддержку supportdbo2@sberbank.ru для получения консультации

5. Скачайте заявление на выпуск сертификата GET /v1/crypto/cert-requests/{externalId}/print

6. Отправьте заявление для обработки

  • ТЕСТ - команда поддержки supportdbo2@sberbank.ru
  • ПРОМ - подписанный печатный сертификат направляется в отделение банка

7. Получите статус сертификата GET /v1/crypto/cert-requests/{externalId}/state

  • Если статус PUBLISHED_BY_BANK - перейдите к следующему шагу
  • Если статус не изменился - направьте обращение в поддержку supportdbo2@sberbank.ru для получения консультации

8. Активируйте сертификат POST /v1/crypto/cert-requests/{externalId}/activate

9. Скачайте выпущенный сертификат GET /v1/crypto

10. Сформируйте ЭП

Описание методов

danger

Ресурсы предназначены для получения информации и выпуска сертификатов для token-пользователей. Для перехода на token-криптопрофиль необходимо заполнить корректирующее заявление и обратиться в отделение.

Получение информации по сертификатам

Ресурс /v1/crypto предоставляет сертификаты клиента/банка и криптографическую информацию пользователя и организации. Полученную информацию нужно использовать в операции создания запроса на сертификат и в операции получения сертификатов.

Шаги

1. При авторизации пользователя партнера передать в scope сервис GET_CRYPTO_INFO.

2. Отправить GET-запрос (/v1/crypto), с Access token пользователя партнера. Access token передается в параметре Authorization заголовка запроса.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token полученный через SSO
Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1

Пример запроса

curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1'
'https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto'

Модель ответа

НаименованиеОписание
CryptoInfo {
certBank (string, optional)Сертификат технологического криптопрофиля банка ,
certBankUuid (string, optional)Уникальный идентификатор сертификата технологического криптопрофиля Банка ,
certCenterCode (string, optional)Код удостоверяющего центра ,
certCenterNum (string, optional)Текущий порядковый номер для генерации сертификата,
certsCA (Array[string], optional)Сертификаты удостоверяющих центров ,
cryptoProfileInfos (Array[CryptoProfileInfo], optional)Идентификаторы криптопрофилей
}CryptoProfileInfo {
alias (string, optional)Псевдоним ,
certificateInfos (Array[CertificateInfo], optional)Информация о сертификатах ,
typeName (string, optional)Наименование типа
}CertificateInfo {
active (boolean, optional)Признак активности ,
cert (string, optional)Сертификат ,
issuer (string, optional)Издатель ,
serialNumber (string, optional)Серийный номер ,
uuid (string, optional)Уникальный идентификатор
}

Пример ответа

{
"certCenterCode":"A000KU",
"certCenterNum":"02",
"certBank":"-----BEGIN CERTIFICATE-----\r\n...........\r\n-----END CERTIFICATE-----\r\n",
"certBankUuid":"e5dd8dc7-1f8e-41ba-be6c-c93f60eb6f4c",
"certsCA":[
"-----BEGIN CERTIFICATE-----\r\n.........\r\n-----END CERTIFICATE-----\r\n"
],
"cryptoProfileInfos":[
{
"alias":"36069",
"typeName":"OneTimePassword",
"certificateInfos":[

]
},
{
"alias":"1549",
"typeName":"Инфокрипт",
"certificateInfos":[
{
"issuer":"EMAILADDRESS=casbrf@sberbank.ru, OID.2.5.4.33=Тестирующий Q, CN=ЛавринСВ-Тестовая печать-УЦ-9, OU=Удостоверяющий центр СБ РФ (Тестовый), O=ОАО \"Сбербанк России\", C=RU",
"serialNumber":"7760B47A1B58D6CDCB63",
"uuid":"07842f30-381a-4ef2-b08a-a10eddc49314",
"active":false,
"cert":"-----BEGIN CERTIFICATE-----\r\n........\r\n-----END CERTIFICATE-----\r\n"
}
]
}
]
}

Выпуск нового сертификата

Ресурс /v1/crypto/cert-requests позволяет создавать запросы на выпуск нового сертификата.

Для этого необходимо:

1. Выполнить OAuth-авторизацию, в результате которой получить авторизационный токен;

2. Обратиться к ресурсу /v1/crypto и получить код удостоверяющего центра (КУЦ) - certCenterCode;

3. На основании полученного КУЦ необходимо сгенерировать уникальный тег bicryptId, состоящий из: КУЦ +порядковый номер выпущенного организацией сертификат(нумерация 00..ZZ)+символ «s». Параметр bicryptId должен содержать не менее 9-ти символов, при необходимости дополнить слева нулями порядковый номер сертификата, после чего добавляется фамилия и инициалы владельца сертификата. Подробнее про формирование Bicrypt ID см. в Дополнительной информации.

Пример

КУЦ:A001P
Номер сертификата:8
Итоговое значение bicryptId:A001P008sИвановИИ

Шаги

1. При авторизации пользователя партнера передать в scope сервис CERTIFICATE_REQUEST.

2. Отправить POST-запрос (/v1/crypto/cert-requests), с Access Token пользователя партнера. Access Token передается в параметре Authorization заголовка запроса.

note

В примере параметр cms заполнен для СКЗИ-Инфокрипт VPN-KEY-TLS.

Для альтернативной СКЗИ необходимо заполнять следующим образом: "cms": "-----BEGIN CERTIFICATE REQUEST-----\n ... MIIIj ... \n-----END CERTIFICATE REQUEST-----".

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token организации, полученный через SSO
Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1
Параметры тела запроса
CertRequest {
bankComment (string, optional, read only)Банковский комментарий к статусу документа ,
bankStatus (string, optional, read only)Статус документа ,
email (string)Адрес электронной почты ,
externalId (string)Идентификатор документа, присвоенный сервисом (UUID) ,
number (string, optional)Номер документа ,
orgName (string, optional)Краткое наименование организации ,
pkcs10 (Pkcs10)Информация о запросах с токена ,
userName (string)Фамилия, имя и отчество ,
userPosition (string)Должность
}Pkcs10 {
bicryptId (string)Идентификатор bicryptId ,
cms (string)Данные запроса на сертификат ЭП в формате CMS (PKCS #10)
}

Пример запроса

{
"email": "qweqwe@mail.ru",
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"number": "1",
"orgName": "Общество с ограниченной ответственностью \"Маша и Медведь\"",
"pkcs10": {
"bicryptId": "A002AR05",
"cms": "-----BEGIN CMS-----\nMIIKCAYJKoZIhvcNAQcCoIIJ+TCCCfUCAQExDDAKB
gYqhQMCAgkFADCCAzQGCSqG\nSIb3DQEHAaCCAyUEggMhMIIDHTCCAsgCAQAwgg
FLMTowOAYDVQQDDDHQn9GA0LjQ\nstC10YIxINCS0LDQu9C10YDQuNC5INCd0LjQu
tC+0LvQsNC10LLQuNGHMRYwFAYD\nVQQEDA3Qn9GA0LjQstC10YIxMSwwKgYDVQQ
qDCPQktCw0LvQtdGA0LjQuSDQndC4\n0LrQvtC70LDQtdCy0LjRhzELMAkGA1UEBhM
CUlUxczBxBgNVBAoMatCe0LHRidC1\n0YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40Yf
QtdC90L3QvtC5INC+0YLQstC10YLR\ngdGC0LLQtdC90L3QvtGB0YLRjNGOICLQnNC
w0YjQsCDQuCDQnNC10LTQstC10LTR\njCIxDDAKBgNVBAsMA3F3ZTEYMBYGA1UEIQ
wPUGFydG5lcjAwMVRva2VuMR0wGwYJ\nKoZIhvcNAQkBFg5xd2Vxd2VAbWFpbC5yc
jBmMB8GCCqFAwcBAQEBMBMGByqFAwIC\nIwIGCCqFAwcBAQICA0MABEAc/aiOKng
o8H120uC+WLa6t7JGbqTy/CgjolwoOiU+\nNw54cURe/G3qcoFj815z14IKl9+Vd5Ta+dF
eANLfKqgloIIBCjAOBgcqhQMDewQJ\nMQMCAQMwgfcGCSqGSIb3DQEJDjGB6TCB5j
BgBgUqhQNkbwRXDFXQodGA0LXQtNGB\n0YLQstC+INGN0LvQtdC60YLRgNC+0L3Q
vdC+0Lkg0L/QvtC00L/QuNGB0LggItCg\n0YPRgtC+0LrQtdC9INCt0KbQnyAyLjAg0KAi
MBMGA1UdIAQMMAowCAYGKoUDZHEB\nMCsGByqFAwN7AwEEIAweQTAwMkFSMDVz
0J/RgNC40LLQtdGCMSDQki4g0J0uMBQG\nByqFAwN7AwQECQYHKoUDA3sFBDAOBg
NVHQ8BAf8EBAMCA/gwGgYHKoUDA3sDBQQP\nDA1UTFMwOTgyNjA3NDMwMAwGC
CqFAwcBAQMCBQADQQBWg6tkXyiYRcCMjbq9reR4\nojJHahsrxSzeOqdLbdIuZ2B9mv
ht3dHp07dm+r2kHSbucH9Shi+PdViUt/9Ng3t4\noIIFcTCCAnAwggIdoAMCAQICEAJMoK
IVSAOE1jNYsq9lyTAwCgYGKoUDAgIDBQAw\nUTEqMCgGA1UEAwwh0JDQoNCcINCY0L
3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4MQsw\nCQYDVQQGEwJSVTEWMBQGA1UEBR
MNVExTMDkxODY1NDU2MjAeFw0xOTA1MTkyMTA1\nMDBaFw0yMTEyMTkyMTEyMDB
aMGkxTzBNBgNVBAMMRtCi0YDQsNC90YHQv9C+0YDR\ngtC90YvQuSDRgdC10YDRg
tC40YTQuNC60LDRgiDQvtGCIDExOjA1OjI4IDIwLjA1\nLjIwMTkxFjAUBgNVBAUTDVRMU
zA5ODI2MDc0MzAwYzAcBgYqhQMCAhMwEgYHKoUD\nAgIjAgYHKoUDAgIeAQNDAAR
AcUQMVGq8jJl+6bPtgnpDX9mdmoGbKty+szDTVFs4\nw350RZ/F6V+YZoPfzHr3wvtzS
Q0Gmkukel8pRB2x76oedqOBtDCBsTAdBgNVHQ4E\nFgQU2jmj7l5rSw0yVb/vlWAYkK/Y
BwkwDgYDVR0PAQH/BAQDAgbAMAkGA1UdEwQC\nMAAwOAYDVR0fBDEwLzAtoCugK
YYnaHR0cDovL3d3d2wuc2JlcmJhbmsucnUvY2Ev\nMDAwMHg1MDkuY3JsMBoGByqFA
wN7AwUEDwwNVExTMDk4MjYwNzQzMDAfBgNVHSME\nGDAWgBSpkyH/QWQcsbacn0
SpJoqyaoCKxjAKBgYqhQMCAgMFAANBAGXNpnXgAb7U\nEbp0fAqNODozFgK1ptAnbqQ
UZSWpN07OvxnG4hvqcuPMfCZm0Bf3nGTxaJ7O1/pb\n+uqvTbqtJ6AwggL5MIICqKADAg
ECAgp3F6YqJe97LkJSMAgGBiqFAwICAzCCARMx\nCzAJBgNVBAYTAlJVMS8wLQYDVQQ
KDCbQntCQ0J4gItCh0LHQtdGA0LHQsNC90Log\n0KDQvtGB0YHQuNC4IjFNMEsGA1UE
CwxE0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ\n0LjQuSDRhtC10L3RgtGAINCh0JEg0KDQ
pCAo0KLQtdGB0YLQvtCy0YvQuSkxPjA8\nBgNVBAMMNdCb0LDQstGA0LjQvdCh0JIt0KL
QtdGB0YLQvtCy0LDRjyDQv9C10YfQ\nsNGC0Ywt0KPQpi05MSEwHwYDVQQhDBjQotC10
YHRgtC40YDRg9GO0YnQuNC5IFEx\nITAfBgkqhkiG9w0BCQEWEmNhc2JyZkBzYmVyYmF
uay5ydTAeFw0xOTAyMTUwMDAw\nMDBaFw0yMjAyMTUwMDAwMDBaMFExKjAoBgNVBA
MMIdCQ0KDQnCDQmNC90LjRhtC4\n0LDQu9C40LfQsNGG0LjQuDELMAkGA1UEBhMCU
lUxFjAUBgNVBAUTDVRMUzA5MTg2\nNTQ1NjIwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAA
YHKoUDAgIeAQNDAARAt35uQKXJ\ngN8wtAcCZZ3xEAYTU6xse72+fd0QldaO3k2/wudA1
Dfq4CEnY6yj+b8yt+R0oLeG\nYAHwztcz0t26dqOBmzCBmDAOBgNVHQ8BAf8EBAMCAcY
wDAYDVR0TBAUwAwEB/zA4\nBgNVHR8EMTAvMC2gK6AphidodHRwOi8vd3d3bC5zYmVy
YmFuay5ydS9jYS8wMDAw\neDUwOS5jcmwwHQYDVR0OBBYEFKmTIf9BZByxtpyfRKkmirJ
qgIrGMB8GA1UdIwQY\nMBaAFJtSNBAR+Ag0d44KzNYmGNy+GDmcMAgGBiqFAwICAwNB
AC7uyg/wG2cP1NYr\nFYSbDqDPZLd3iy47ILxUy3bDxhrpDyXQxjHvSayvO3zRH0p9pArHM9
O1QC4RUov4\ne3q+ZC0xggEzMIIBLwIBATBlMFExKjAoBgNVBAMMIdCQ0KDQnCDQmNC9
0LjRhtC4\n0LDQu9C40LfQsNGG0LjQuDELMAkGA1UEBhMCUlUxFjAUBgNVBAUTDVRMUz
A5MTg2\nNTQ1NjICEAJMoKIVSAOE1jNYsq9lyTAwCgYGKoUDAgIJBQCgaTAYBgkqhkiG9w0B
\nCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xOTA3MjMwODM5NDdaMC8G
\nCSqGSIb3DQEJBDEiBCBd4qOFt7g6yDizj++aCGnyjOaDQZ5R2qVnbhq716pNXDAK\nBgYq
hQMCAhMFAARAfHK8eDv4wVpC+afrsNm0yeTr/9cjR5PzQLoYF93JM2IHvigw\nogNuoDf/1tE
z1u37DMyWdo3ho3/2GejdhqwaGQ==\n-----END CMS-----"
},
"userName": "Валерий Николаевич",
"userPosition": "Partner001Token"
}

Получение статуса запроса

Ресурс /v1/crypto/cert-requests/{externalId}/state позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат.

Шаги

1. При авторизации пользователя партнера передать в scope сервис CERTIFICATE_REQUEST.

2. Отправить GET-запрос (/v1/crypto/cert-requests/{externalId}/state), с Access Token пользователя партнера и идентификатором запроса на сертификат externalId.Access Token передается в параметре Authorization заголовка запроса.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token организации полученный через SSO
Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1
Параметры запроса
externalId (String)Идентификатор документа, присвоенный сервисом

Пример запроса

curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1'
'https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6/state'

Модель ответа

НаименованиеОписание
DocState {
bankComment (string, optional, read only)Банковский комментарий к статусу документа,
bankStatus (string, optional)Статус документа,
channelInfo (string, optional, read only)Комментарий, специфичный для документа, полученного по данному каналу
}

Пример ответа

{
"bankStatus": "CREATED",
"bankComment": null,
"channelInfo": null
}

Возможные статусы

СтатусОписаниеТип
ACCEPTEDПринятПромежуточный/Продолжать опрашивать
CHECKERROR Ошибка контроляКонечный(Ошибочный)/Прекратить опрос
CREATEDСозданПромежуточный/Продолжать опрашивать
DELIVEREDДоставленПромежуточный/Продолжать опрашивать
EXPORTEDВыгруженПромежуточный/Продолжать опрашивать
PROCESSEDОбработанКонечный(Успешный)/Прекратить опрос
PUBLISHED_BY_BANKИздан БанкомПромежуточный/ Прекратить опрос (После получение статуса необходимо активировать сертификат, вызвав сервис /v1/crypto/cert-requests/{externalId}/activate)
READY_TO_SENDЖдет отправкиПромежуточный/Продолжать опрашивать
REFUSEDBYBANKОтвергнут БанкомКонечный(Ошибочный)/Прекратить опрос
REQUISITEERRORОшибка реквизитовКонечный(Ошибочный)/Прекратить опрос
TRIEDПроверенПромежуточный/Продолжать опрашивать
WAIT_FOR_APPROVEОжидает подтвержденияПромежуточный/Продолжать опрашивать

Активация выпущенного сертификата

Ресурс /v1/crypto/cert-requests/{externalId}/activate позволяет активировать выпущенный сертификат.

Шаги

1. При авторизации пользователя партнера передать в scope сервис CERTIFICATE_REQUEST.

2. Отправить POST-запрос (/v1/crypto/cert-requests/{externalId}/activate), с Access Token пользователя партнера и идентификатором запроса на сертификат externalId. Access token передается в параметре Authorization заголовка запроса.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token полученный через SSO.
Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1
Параметры запроса
externalId (String)Идентификатор документа, присвоенный пользователем

Пример запроса

curl -X POST --header 'Content-Type: application/json' --header 
'Accept: application/json' --header
'Authorization: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1'
'https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6/activate'

Получение печатной формы сертификата

danger

Ресурсы предназначены для получения информации и выпуска сертификатов для token-пользователей. Для перехода на token-криптопрофиль необходимо заполнить корректирующее заявление и обратиться в отделение .

Ресурс /v1/crypto/cert-requests/{externalId}/print позволяет получить печатную форму сертификата.

Шаги

1. При авторизации пользователя партнера передать в scope сервис CERTIFICATE_REQUEST.

2. Отправить GET-запрос (/v1/crypto/cert-requests/{externalId}/print), с Access Token пользователя партнера и идентификатором запроса на сертификат externalId. Access token передается в параметре Authorization заголовка запроса.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token полученный через SSO.
Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1
Параметры запроса
externalId (String)Идентификатор документа, присвоенный пользователем

Пример запроса


curl -X GET --header `Accept: /` --header
`Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1`
`https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/f8ad3141-b7e8-4924-92de-3de4fd0a464e/print`

Дополнительная информация

Как получить токен

Инструкция для получения токена ПРОМ - https://www.sberbank.ru/help/business/sbbol/100359

Для получения токена ТЕСТ через курьерскую службу направьте заявку на fintech_api@sberbank.ru по шаблону:

Индекс:
Регион:
Область:
Город:
Улица:
Дом:
Корпус:
Квартира/офис:
Мобильный телефон получателя:
Название организации:
ФИО получателя:
Должность получателя в организации:

Документация к токенам предоставляется по запросу к команде поддержки supportdbo2@sberbank.ru. В запросе необходимо указать тип токена - Инфокрипт/Rutoken.

Формирование Bicrypt ID

На основании полученного КУЦ необходимо сгенерировать уникальный параметр Bicrypt ID, состоящий из:

  1. КУЦ - 4 или 6 символов.

  2. Порядковый номер выпущенного организацией сертификата (номер должен соответствовать ряду: «01,02,..09,10,11..99,0A,0B..0Z,1A..1Z…9Z,A0,A1…A9,AA,AB..AZ…Z0,Z1..Z9,ZA..ZZ», предыдущее значение можно посмотреть в /v1/crypto).

  3. Символ «s».

  4. Фамилия и инициалы владельца сертификата.

Длина Bicrypt ID = 9 символов + Фамилия и инициалы владельца сертификата.

Пример Bicrypt ID: A0001P08sИвановИИ


Примеры формирования Bicrypt ID

При 4-значном КУЦ:

bicryptId ='V2QL0099s…'

Следующее значение bicryptId ='V2QL000As…'

Максимальное значение bicryptId ='V2QL9ZZZs…'

При 6 значном КУЦ:

bicryptId ='A000YS99s…'

Следующее значение bicryptId ='A000YS0As…'

Максимальное значение bicryptId ='A000YSZZs…'


Реквизиты запроса на сертификат

1. Cведения о владельце сертификата (Субъект/Subject)

OIDНаименованиеФормат
2.5.4.3ФИО
Обозначение: CN
UTF-8 STRING

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Макс. длина - 128

Общее имя.

Каждое слово в тексте должно быть отделено 1 пробелом. Если в фамилии, имени или отчестве в написании присутствует «дефис», то в запрос так и вносится с дефисом, без пробелов (например: Салтыков-Щедрин). Если фамилия, имя или отчество состоит из нескольких слов разделенных пробелом, то в запрос вносится одним словом, части которого соединены «подчеркиванием» без пробелов (например: фамилия «Ван чо» будет записана Ван_чо).
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx
Например: «Иванов Иван Иванович»
2.5.4.6Страна
Обозначение: C
PRINTABLE STRING

Макс. длина - 2

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx

Должен записываться только двухбуквенный код выбранной страны из справочника стран.
Например, для «Российской федерации» - «RU»
2.5.4.10Организация
Обозначение: O
UTF-8 STRING

Макс. длина - 64

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Полное или сокращенное название организации, наименование юридического лица.

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx
Например: «ООО «Клиент»
2.5.4.11Подразделение
Обозначение: OU
UTF-8 STRING

Макс. длина - 64

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Наименование подразделения. Указываются данные подразделения уполномоченного представителя юридического лица.

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx

Если длина ИНН = 12 знакам ИЛИ поле «Подразделение» не заполнено, то oid не добавляется в запрос.
Например: «Бухгалтерия»
2.5.4.12Должность
Обозначение: T
UTF-8 STRING

Макс. длина - 64

Должность.

Указываются данные уполномоченного представителя юридического лица.

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx
Если длина ИНН = 12 знакам, то oid не добавляется в запрос.
Например: «Главный бухгалтер»
1.2.840.113549.1.9.1Адрес электронной почты
Обозначение: E
IA5STRING

Макс. длина - 64

Необязательное поле.

Адрес электронной почты.

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx
Значение, которое записывается в атрибут «E» должно загружаться из поля «Адрес электронной почты» экранной формы.

2. Параметры по ГОСТ Р 34.10-2012

OIDНаименованиеФормат
1.2.643.7.1.1.1.1Алгоритм подписиАлгоритм подписи по ГОСТ Р 34.10-2012 с ключом 256

id-tc26-gost3410-12-256
1.2.643.2.2.35.2Параметры эллиптической кривой для алгоритмаПараметры ГОСТ Р 34.10-2001 256 бит, вариант B

id-GostR3410-2001-CryptoPro-B-ParamSet
1.2.643.7.1.1.2.2Параметры алгоритма хэшированияАлгоритм хэширования по ГОСТ Р 34.11-12 с длиной хэш-кода 256

id-tc26-gost3411-12-256
1.2.643.2.2.31.1Параметры алгоритма шифрованияАлгоритм шифрования по ГОСТ 28147-89

ГОСТ 28147-89
1.2.643.7.1.1.3.2Алгоритм подписи и хэширования (Это подпись запроса)Алгоритм подписи ГОСТ Р 34.10-2012 с ключом 256 с хэшированием по ГОСТ Р 34.11-2012

id-tc26-signwithdigest-gost3410-12-256

Расширения (Extension)

OIDНаименованиеФормат
1.2.643.3.123.3.1Идентификатор БикриптOCTET STRING внутри него UTF-8 STRING с ID Бикрипт

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Макс. длина - 32

Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле Набор разрешенных символов в сертификате ЭП.xlsx

При создании сертификатов по каждому из запросов Клиента, на стороне банка резервируются последовательно по 2 идентификатора bicryptId.

Значение состоит из:
КУЦ – кода удостоверяющего центра, присваиваемого организации пользователя,
ПКК – порядкового кода ключа (вместе ровно 8 символов) + 1 символ обозначения типа ключа и + фамилия и инициалы

КУЦ приходит с информацией по крипто-профилю в /v1/crypto

Количество разрядов, отводимых на КУЦ и ПКК может быть 4+4 или 6+2, соответственно. Разрядность КУЦ определяется по 5-му символу. Если 5-й символ цифра, КУЦ – 4х разрядный, иначе – 6 разрядный.

Нумерация ПКК должна соответствовать следующему ряду: «01,02,..09,10,11..99,0A,0B..0Z,1A..1Z…9Z,A0,A1…A9,AA,AB..AZ…Z0,Z1..Z9,ZA..ZZ», предыдущее значение можно посмотреть в /v1/crypto, необходимо добавить столько «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…'/>
2.5.29.15Использование ключаOCTET STRING содержащий BITSTRING

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Должно содержать следующие компоненты: Цифровая подпись, неотрекаемость, шифрование ключей, шифрование данных.
2.5.29.19Базовые ограниченияOCTET STRING содержащий базовые ограничения

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Битовое поле «CA» ложно, ограничения длинны цепочки сертификатов – 0.
1.2.643.3.123.3.4Parent ASOCTET STRING содержащий OID бизнес-системы

ОБЯЗАТЕЛЬНОЕ ПОЛЕ

Заполнять значением 1.2.643.3.123.5.4

Набор разрешенных символов для текстов в КСКП ЭП

См. в файле Набор разрешенных символов в сертификате ЭП.xlsx.

Коды возврата

Код возвратаОписание кода возвратаПричина возникновения
200 (GET-запроса)OK
201 (POST-запрос)CREATED
Создан
400DESERIALIZATION_FAULT
Неверный формат запросаНеверный формат запроса
WORKFLOW_FAULT
Для внешнего сервиса недоступны операции по счету: 40702810ХХХХХХХХХХХХДля внешнего сервиса недоступны операции по счету: счет не добавлен в список разрешенных в оферте; внешний сервис заблокирован в СББОЛ; счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет у организации плательщика
Документ с такими реквизитами уже существуетДокумент с такими реквизитами уже существует. Проверка по номер документа в течении года.
Не указан идентификатор сертификата подписиНе указан идентификатор сертификата подписи(параметр kid заголовка JWS)
Некорректный формат параметра kid заголовка JWSНекорректный формат параметра kid заголовка JWS(ожидается UUID)
VALIDATION_FAULT
Ошибка валидацииОшибка валидации данных запроса с указанием некорректных значений. Значения полей модели или параметров запроса не соответствуют допустимым и определенным в модели.
SIGN_CHECK_EXCEPTION
Подлинность подписи не установлена/Сертификат не обнаружен или не является активнымОшибка возникает, если не удалось установить подлинность подписи
401UNAUTHORIZED
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token.
403ACTION_ACCESS_EXCEPTION
Операция не может быть выполнена: доступ к ресурсу запрещенУ пользователя нет прав на использование соответствующего сервиса SberBusinessAPI, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом.
415JWS_EXCEPTED
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact SerializationОшибка возникает, если в настройках внешних сервисов выставлен флаг «Требуется подпись для внешнего сервиса»
500UNKNOWN_EXCEPTION
Внутренняя ошибка сервера
503UNAVAILABLE_RESOURCE_EXCEPTION
Сервис временно недоступенПроводятся технические работы
Обновлено 27 апреля 2022

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней