Я пытаюсь отправить запрос на 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
Установка таймаута для запросов OCSP ⇐ C++
Программы на C++. Форум разработчиков
1761745286
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;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79803849/making-a-timeout-for-ocsp-requests[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия