Установка таймаута для запросов OCSPC++

Программы на C++. Форум разработчиков
Anonymous
Установка таймаута для запросов OCSP

Сообщение Anonymous »

Я пытаюсь отправить запрос на OCSP-сервер, но для моих целей мне нужен тайм-аут запроса. Поэтому, если OCSP-сервер занимает слишком много времени, я продолжаю соединение.
Но, как бы я ни старался, запрос с использованием функции OpenSSL блокируется, поэтому я не могу проверить, сколько времени прошло.
Кстати, я не использую сшивание OCSP, так как использую mTLS, который находится на стороне сервера.
По какой-то причине я не могу найти много информации об этом в Интернете.
Вот как я пытался это использовать:
OCSP_RESPONSE* OCSP_sendreq_bio_custom(BIO* b, const char* host, const char* path, OCSP_REQUEST* req) {
OCSP_RESPONSE* resp = NULL;
OCSP_REQ_CTX* ctx;
int rv;
ctx = OCSP_sendreq_new(b, path, NULL, -1);
OCSP_REQ_CTX_add1_header(ctx, "Accept", "application/ocsp-response");
OCSP_REQ_CTX_add1_header(ctx, "Host", host);
OCSP_REQ_CTX_set1_req(ctx, req);
if (ctx == NULL)
return NULL;
do {
rv = OCSP_sendreq_nbio(&resp, ctx);
} while ((rv == -1) && BIO_should_retry(b));
OCSP_REQ_CTX_free(ctx);
if (rv)
return resp;
return NULL;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... p-requests

Вернуться в «C++»