Skip to content

OCSP

🔗 OCSP-адрес:

http://pki.sertum-pro.ru/ocsp2012/ocsp.srf

1. Общие сведения

1.1 Описание

OCSP (Online Certificate Status Protocol) — протокол, определённый в RFC 6960, позволяющий проверять статус выданного сертификата X.509 в режиме реального времени. В отличие от списков отзыва CRL, OCSP позволяет получить актуальную информацию о конкретном сертификате без необходимости загрузки и обработки всего списка отзывов.

ООО "СЕРТУМ-ПРО" предоставляет OCSP-сервис для проверки статуса сертификатов, выданных УЦ Контур (в том числе сертификатов ГОСТ Р 34.10-2012).


2. Поддерживаемые стандарты и протоколы

2.1 Протоколы

  • RFC 6960 — Online Certificate Status Protocol (OCSP)
  • HTTP/1.1 — передача запросов и ответов через HTTP(S)
  • PKIX — Public Key Infrastructure X.509

2.2 Алгоритмы подписи и хэширования

  • GOST R 34.10-2012 (256 бит и 512 бит)
  • RSA, ECDSA
  • Хэш-алгоритмы: GOST R 34.11-2012, SHA-1, SHA-256, SHA-384, SHA-512

⚠️ SHA-1 не рекомендуется использовать из-за уязвимостей.


3. Формат запроса

OCSP-запрос представляет собой DER-кодированный объект типа OCSPRequest.

3.1 Структура запроса

OCSPRequest ::= SEQUENCE {
    tbsRequest      TBSCertRequest,
    optionalSignature   [0] EXPLICIT Signature OPTIONAL
}

TBSCertRequest:

TBSCertRequest ::= SEQUENCE {
    version         [0] EXPLICIT Version DEFAULT v1,
    requestorName   [1] EXPLICIT GeneralName OPTIONAL,
    requestList     SEQUENCE OF Request,
    requestExtensions [2] EXPLICIT Extensions OPTIONAL
}

Request:

Request ::= SEQUENCE {
    reqCert             CertID,
    singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL
}

CertID:

CertID ::= SEQUENCE {
    hashAlgorithm       AlgorithmIdentifier,
    issuerNameHash      OCTET STRING,
    issuerKeyHash       OCTET STRING,
    serialNumber        INTEGER
}

4. Формат ответа

Ответ сервера — это DER-кодированный объект OCSPResponse.

4.1 Структура ответа

OCSPResponse ::= SEQUENCE {
    responseStatus  OCSPResponseStatus,
    responseBytes   [0] EXPLICIT ResponseBytes OPTIONAL
}

Возможные значения responseStatus:

Значение Описание
successful (0) Запрос успешно обработан
malformedRequest (1) Неверно сформированный запрос
internalError (2) Внутренняя ошибка сервера
tryLater (3) Сервер временно недоступен
sigRequired (5) Для запроса требуется подпись
unauthorized (6) Запрос отклонён из-за отсутствия прав

Если responseStatus = successful, то поле responseBytes содержит:

ResponseBytes ::= SEQUENCE {
    responseType    OBJECT IDENTIFIER,
    response        OCTET STRING
}

Где responseType обычно равен id-pkix-ocsp-basic (1.3.6.1.5.5.7.48.1.1), а response — DER-кодированный BasicOCSPResponse.


5. Работа с сервисом

5.1 Получение OCSP-ответа через командную строку (OpenSSL)

Шаг 1: Создать запрос к OCSP-серверу

openssl ocsp -issuer ca.crt \
             -cert user.crt \
             -reqout request.der \
             -no_nonce \
             -url http://pki.sertum-pro.ru/ocsp2012/ocsp.srf

Шаг 2: Отправить запрос на сервер

curl -H "Content-Type: application/ocsp-request" \
     --data-binary @request.der \
     http://pki.sertum-pro.ru/ocsp2012/ocsp.srf > response.der

Шаг 3: Проверить ответ

openssl ocsp -respin response.der -text -noverify

5.2 Использование в CryptoPro CSP

В CryptoPro CSP можно проверить статус сертификата через GUI или с помощью командной строки:

certmgr -list -store uMy
cryptcp -verify -cert <thumbprint>

CryptoPro автоматически использует OCSP-сервера, указанные в AIA полях сертификата.


6. Сертификаты

Сертификат OCSP-подписи можно найти в цепочке доверия сертификатов, выпущенных УЦ Контур.


7. Требования к клиентам

  • Поддержка протокола HTTP/1.1
  • Умение формировать и отправлять DER-закодированные OCSP-запросы
  • Поддержка алгоритмов шифрования, используемых в цепочке доверия
  • Доступ к корневым и промежуточным сертификатам для проверки ответа

8. Часто задаваемые вопросы

❓ Как проверить OCSP-ответ?

Используйте openssl ocsp -respin <файл> или специализированные средства проверки PKI.

❓ Можно ли использовать GOST-сертификаты?

Да, сервис поддерживает сертификаты ГОСТ Р 34.10-2012.

❓ Что делать, если OCSP-сервер не отвечает?

Проверьте подключение к интернету, попробуйте повторить запрос позже, либо используйте альтернативные методы проверки (например, CRL).