Формирование электронной подписи с помощью программных средств
Терминология
КУЦ - код удостоверяющего центра. Является уникальным идентификатором организации в УЦ Сбербанка.
Токен - физический носитель для хранения сертификатов банка и авторизации токен-пользователя в веб-канале СББОЛ.
Инфокрипт-токен - разновидность токена банка, разработанного компанией ООО Фирма «ИнфоКрипт».
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
Создать учетную запись с правом подписи по инструкции в СберБизнес.
Создание учетной записи доступно только для пользователей с полномочиями ЕИО (Единоличный исполнительный орган).
Также необходимо учесть , что у партнера может отсутствовать функционал в СББОЛ.
Способ 2
Заполнить форму заявления.
Отнести готовое заявление в любое отделение Сбербанка, которое занимается обслуживанием юридических лиц.
Список популярных методов для которых требуется ЭП:
- Рублевое платежное поручение
- Зарплатный проект
- Исходящее платежное требование
- Валютное платежное поручение
Сертификат выпускается на 15 месяцев. Пользователь самостоятельно определяет полномочия и ролевую модель для новой учетной записи в соответствии с его потребностями.
По факту истечения срока действия сертификата или в любой момент времени возможно создание нового сертификата через API.
При выпуске сертификата в СББОЛ с использованием токена нельзя экспортировать закрытый ключ из токена, т.е. формирование ЭП для API можно будет выполнять только при обращении к токену.
Для обращения к ресурсу необходимо отправлять запрос на:
Текущий тестовый контур
https://edupirfintech.sberbank.ru:9443
Новый тестовый контур
https://iftfintech.testsbi.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. Сформируйте ЭП
- Дайджест
- Формат подписи
- Примеры
- Сервис проверки ЭП
Описание методов
Ресурсы предназначены для получения информации и выпуска сертификатов для 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 заголовка запроса.
В примере параметр 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'
Получение информации по сертификатам всех пользователей организации
Сервис позволяет возвращать крипто-информацию по всем пользователям организации при условии наличия признака ЕИО для AccessToken пользователя.
Шаги
1. При авторизации передать в scope сервис GET_CRYPTO_INFO_EIO
.
2. Отправить запрос GET-запрос (/v1/crypto/eio) с 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 daf9a14c-821d-4bde-9c10-0e56e63d54a0-1'
'https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto/eio'
Модель ответа
Наименование | Описание |
---|---|
EioCryptoInfo { | |
certBank (string, optional) | Сертификат технологического криптопрофиля банка , |
certBankUuid (string, optional) | Уникальный идентификатор сертификата технологического криптопрофиля Банка , |
certCenterCode (string, optional) | Код удостоверяющего центра , |
certsCA (Array[string], optional) | Сертификаты удостоверяющих центров , |
cryptoUserInfos (Array[CryptoUserInfo], optional) | Информация о пользователях |
}CryptoUserInfo { | |
cryptoProfileInfos (Array[CryptoProfileInfo], optional) | Идентификаторы крипто-профилей , |
sub (string, 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) | Уникальный идентификатор |
} |
Пример ответа
{
"certBank": "-----BEGIN CERTIFICATE-----\r\n...........\r\n-----END CERTIFICATE-----\r\n",
"certBankUuid": "e5dd8dc7-1f8e-41ba-be6c-c93f60eb6f4c",
"certCenterCode": "А000KU",
"certsCA": [
"-----BEGIN CERTIFICATE-----\r\n.........\r\n-----END CERTIFICATE-----\r\n"
],
"cryptoUserInfos": [{
"cryptoProfileInfos": [{
"alias": "36069",
"certibficateInfos": [{
"active": false,
"cert": "-----BEGIN CERTIFICATE-----\r\n........\r\n-----END CERTIFICATE-----\r\n",
"issuer": " EMAILADDRESS=casbrf@sberbank.ru, OID.2.5.4.33=Тестирующий Q, CN=ЛавринСВ
Тестоваяпечать-УЦ-9, OU=Удостоверяющий центр СБ РФ (Тестовый), O=ОАО \"Сбербанк России\",
C=RU",
"serialNumber": "7760B47A1B58D6CDCB63",
"uuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}],
"typeName": "Инфокрипт"
}],
"sub": "string"
}]
}
Выпуск нового сертификата для пользователя ЕИО
Ресурс /v1/crypto/cert-requests/eio
позволяет создавать запросы на выпуск нового сертификата, для пользователя с признаком ЕИО.
Для этого необходимо:
1. Выполнить OAuth-авторизацию, в результате которой получить авторизационный токен пользователя, имеющего признак ЕИО;
2. Обратиться к ресурсу /v1/crypto/eio и получить код удостоверяющего центра (КУЦ) - certCenterCode;
3. На основании полученного КУЦ необходимо сгенерировать уникальный тег bicryptId, состоящий из: КУЦ +порядковый номер выпущенного организацией сертификат(нумерация 00..ZZ)+символ «s». Параметр bicryptId должен содержать не менее 9-ти символов, при необходимости дополнить слева нулями порядковый номер сертификата, после чего добавляется фамилия и инициалы владельца сертификата. Подробнее про формирование Bicrypt ID см. в Дополнительной информации.
Пример
КУЦ:A001P
Номер сертификата:8
Итоговое значение bicryptId:A001P008sИвановИИ
Шаги
1. При авторизации передать в scope сервис CRYPTO_CERT_REQUEST_EIO
.
2. Отправить запрос POST-запрос (/v1/crypto/cert-requests/eio) с Access Token и данные по выпускаемому сертификату. Access token передается в параметре Authorization заголовка запроса. Разрешается отправка запроса по методу /v1/crypto/cert-requests/eio только для тех AccessToken пользователей, по которым пользователь с правами ЕИО подписал оферту ПЭП или УНЭП в личном кабинете АС СББОЛ.
В примере параметр 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 |
Параметры тела запроса | |
CertRequestEio { | |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankStatus (string, optional, read only) | Статус документа , |
email (string) | Адрес электронной почты , |
externalId (string) | Идентификатор документа, присвоенный сервисом (UUID) , |
login (string) | Логин пользователя, для которого создается запрос на сертификат , |
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"
}
Получение статуса запроса на сертификат ЕИО
Ресурс позволяет получить информацию по статусу запроса на новый сертификат ЕИО. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат ЕИО.
Шаги
1. При авторизации передать в scope сервис CRYPTO_CERT_REQUEST_EIO
.
2. Отправить GET-запрос (/v1/crypto/cert-requests/eio/{externalId}/state) с Access Token и идентификатором запроса на новый сертификат (externalId). Access token передается в параметре Authorization заголовка запроса.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token организации полученный через SSO Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-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/eio/{externalId}/state'
Модель ответа
Наименование | Описание |
---|---|
DocState { | |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа, |
bankStatus (string, optional) | Статус документа, |
channelInfo (string, optional, read only) | Комментарий, специфичный для документа, полученного по данному каналу |
} |
Пример ответа
{
"bankStatus": "null",
"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 | Ожидает подтверждения | Промежуточный/Продолжать опрашивать |
Активация выпущенного сертификата ЕИО
Ресурс позволяет создавать запросы на активацию выпущенного сертификата ЕИО, для дальнейшей возможности подписывать документы и запросы.
Шаги
1. При авторизации передать в scope сервис CRYPTO_CERT_REQUEST_EIO
.
2. Отправить POST-запрос (/v1/crypto/cert-requests/eio/{externalId}/activate) с Access Token и идентификатором сертификата (externalId) из запроса cert-requests/eio. Access token передается в параметре Authorization заголовка запроса.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token полученный через SSO Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1 |
Параметры запроса | |
externalId (String) | Идентификатор документа, присвоенный пользователем |
Пример запроса
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header
'Authorization: c76fb018-27c9-43f7-a751-62646eda7e1a-1'
'https://edupirfintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/c76fb018-27c9-43f7-a751-62646eda7e1a-1/activate'
Получение печатной формы сертификата
Ресурс /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, состоящий из:
КУЦ - 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).
Символ «s».
Фамилия и инициалы владельца сертификата.
Длина 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.4 | Parent AS | OCTET STRING содержащий OID бизнес-системы ОБЯЗАТЕЛЬНОЕ ПОЛЕ Заполнять значением 1.2.643.3.123.5.4 |
Набор разрешенных символов для текстов в КСКП ЭП
См. в файле Набор разрешенных символов в сертификате ЭП.xlsx.
Коды возврата
Код возврата | Описание кода возврата | Причина возникновения | |
---|---|---|---|
200 (GET-запроса) | OK | ||
201 (POST-запрос) | CREATED | ||
Создан | |||
400 | DESERIALIZATION_FAULT | ||
Неверный формат запроса | Неверный формат запроса | ||
WORKFLOW_FAULT | |||
Для внешнего сервиса недоступны операции по счету: 40702810ХХХХХХХХХХХХ | Для внешнего сервиса недоступны операции по счету: счет не добавлен в список разрешенных в оферте; внешний сервис заблокирован в СББОЛ; счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет у организации плательщика | ||
Документ с такими реквизитами уже существует | Документ с такими реквизитами уже существует. Проверка по номер документа в течении года. | ||
Не указан идентификатор сертификата подписи | Не указан идентификатор сертификата подписи(параметр kid заголовка JWS) | ||
Некорректный формат параметра kid заголовка JWS | Некорректный формат параметра kid заголовка JWS(ожидается UUID) | ||
VALIDATION_FAULT | |||
Ошибка валидации | Ошибка валидации данных запроса с указанием некорректных значений. Значения полей модели или параметров запроса не соответствуют допустимым и определенным в модели. | ||
SIGN_CHECK_EXCEPTION | |||
Подлинность подписи не установлена/Сертификат не обнаружен или не является активным | Ошибка возникает, если не удалось установить подлинность подписи | ||
401 | UNAUTHORIZED | ||
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. | ||
403 | ACTION_ACCESS_EXCEPTION | ||
Операция не может быть выполнена: доступ к ресурсу запрещен | У пользователя нет прав на использование соответствующего сервиса SberBusinessAPI, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом. | ||
415 | JWS_EXCEPTED | ||
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization | Ошибка возникает, если в настройках внешних сервисов выставлен флаг «Требуется подпись для внешнего сервиса» | ||
500 | UNKNOWN_EXCEPTION | ||
Внутренняя ошибка сервера | |||
503 | UNAVAILABLE_RESOURCE_EXCEPTION | ||
Сервис временно недоступен | Проводятся технические работы |