SUPPORT-9332. Добавлена специальная обработка ошибок при проверке цепочки сертификатов
This commit is contained in:
parent
fc0a184a89
commit
f53d4f86a5
11 changed files with 266 additions and 125 deletions
30
README.md
30
README.md
|
|
@ -4,7 +4,7 @@
|
|||
- подпись данных
|
||||
- проверка подписи маркера доступа
|
||||
|
||||
### Подпись данных
|
||||
## Подпись данных
|
||||
|
||||
Приложение принимает POST-запрос по протоколу FastCGI (Content-Type: text/plain).
|
||||
C помощью ДСЧ генерирует state - набор случайных символов, генерируется по стандарту UUID.
|
||||
|
|
@ -36,14 +36,14 @@ $ /opt/cprocsp/bin/amd64/curl -v http://127.0.0.1/sign -H "Content-Type: text/pl
|
|||
}
|
||||
```
|
||||
|
||||
### Проверка подписи маркера доступа
|
||||
## Проверка подписи маркера доступа
|
||||
|
||||
Приложение принимает POST-запрос по протоколу FastCGI (Content-Type: text/plain).
|
||||
Проверяет подпись маркера доступа, полученного в теле запроса.
|
||||
В ответе возвращает один из следующих статус-кодов:
|
||||
- 200 OK - подпись валидна
|
||||
- 401 Unauthorized - подпись невалидна (в теле ответа возвращается код ошибки от криптопровайдера)
|
||||
- 500 Internal Server Error - внутренняя ошибка сервера
|
||||
- `200 OK`- подпись валидна
|
||||
- `401 Unauthorized` - подпись невалидна (в теле ответа возвращается код ошибки от криптопровайдера)
|
||||
- `500 Internal Server Error` - внутренняя ошибка сервера (подробнее см. в `Обработка ошибок`)
|
||||
|
||||
Пример выполнения запроса:
|
||||
```
|
||||
|
|
@ -65,6 +65,24 @@ $ /opt/cprocsp/bin/amd64/curl -v http://127.0.0.1/verify -H "Content-Type: text/
|
|||
<
|
||||
```
|
||||
|
||||
## Обработка ошибок
|
||||
|
||||
В случае ошибки сервер возвращает ответ со статус-кодом `500 Internal Server Error` и телом в формате JSON, содержащим поле `error_code`.
|
||||
Пример ответа:
|
||||
```json
|
||||
{
|
||||
"error_code": "CERT_TRUST_REVOCATION_STATUS_UNKNOWN"
|
||||
}
|
||||
```
|
||||
|
||||
### Возможные коды ошибок (`error_code`)
|
||||
|
||||
| Код | Описание |
|
||||
|-----------------------------------------|----------|
|
||||
| `CERT_TRUST_REVOCATION_STATUS_UNKNOWN` | Неизвестен статус отзыва сертификата или одного из сертификатов в цепочке (проблема с CRL) |
|
||||
| `CERT_TRUST_IS_UNTRUSTED_ROOT` | Сертификат или цепочка сертификатов основана на ненадежном корневом сертификате |
|
||||
| `CERT_TRUST_IS_NOT_TIME_VALID` | Этот сертификат или один из сертификатов в цепочке сертификатов является недопустимым по времени |
|
||||
|
||||
## Сборка из исходников
|
||||
|
||||
Инструкции по сборке из исходников см. "Инструкция по сборке.md"
|
||||
|
|
@ -116,5 +134,3 @@ export SIGN_LOG_TIME=on
|
|||
```
|
||||
unset SIGN_LOG_TIME
|
||||
```
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue