Ошибки рукопожатия (без общего шифрования) https-сервер с обратным прокси-сервером ASIO c++C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибки рукопожатия (без общего шифрования) https-сервер с обратным прокси-сервером ASIO c++

Сообщение Anonymous »


Привет, у меня возникла проблема во время рукопожатия: либо сбой рукопожатия, либо отсутствие общего шифрования, либо неизвестный сертификат. это обратный прокси-сервер, я пытаюсь создать его уже несколько недель. в настоящее время я не могу пройти эту фазу. пожалуйста, помогите.

код:
asio::ssl::context ctx_server(asio::ssl::context::tlsv12_server); ctx_server.set_options(asio::ssl::context::default_workarounds | asio::ssl::context::no_sslv2 | asio::ssl::context::no_sslv3 | asio::ssl::context::no_tlsv1_1 | asio::ssl::context::tlsv12_server); add_windows_root_certs(ctx_server); ctx_server.set_verify_mode(asio::ssl::verify_peer | asio::ssl::verify_fail_if_no_peer_cert); std::filesystem::path cert_path = std::filesystem::current_path() / "server.crt"; std::filesystem::path key_path = std::filesystem::current_path() / "server.key"; std::filesystem::path csr_path = std::filesystem::current_path() / "server.csr"; ctx_server.set_password_callback([](auto, auto) -> std::string { return "195709059"; }); ctx_server.use_certificate_chain_file(cert_path.string()); ctx_server.use_private_key_file(key_path.string(), asio::ssl::context::pem); auto ioc = std::make_shared(); auto ioc2 = std::make_shared(); asio::ip::tcp::acceptor Acceptor { *ioc, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 40000)}; в то время как (1) { asio::streambuf потоковый буфер; std::error_code ec; asio::ssl::stream socket { *ioc, ctx_server }; Acceptor.accept(socket.lowest_layer()); Acceptor.set_option(asio::ip::tcp::acceptor::reuse_address(true)); socket.lowest_layer().set_option(asio::ip::tcp::socket::keep_alive(true)); socket.lowest_layer().set_option(asio::ip::tcp::no_delay(true)); std::string запрос, ответ; в то время как (socket.lowest_layer().is_open()) { // читаем http-статус auto length = asio::read_until(socket.next_layer(),streambuffer, "\n", ec); если (!ec) { если (длина
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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