Boost C++ Libraries/Boost.Asio

Boost.Asio - ssl::host_name_verification

까마귀75 2021. 4. 9. 14:06
728x90
반응형

ssl::host_name_verification

RFC 6125에 설명된 규칙에 따라 host_name에 대한 인증서를 확인한다.

class host_name_verification

유 형

이 름 설 명
result_type 함수 개체의 결과 유형.

멤버 함수

이 름 설 명
host_name_verification
[constructor]
생성자.
operator() 인증서 확인을 수행한다.

예 제

다음 예제는 주어진 호스트 이름에 대한 보안 연결을 동기식으로 여는 방법을 보여준다:

using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;
typedef ssl::stream<tcp::socket> ssl_socket;

// Create a context that uses the default paths for finding CA certificates.
ssl::context ctx(ssl::context::sslv23);
ctx.set_default_verify_paths();

// Open a socket and connect it to the remote host.
boost::asio::io_context io_context;
ssl_socket sock(io_context, ctx);
tcp::resolver resolver(io_context);
tcp::resolver::query query("host.name", "https");
boost::asio::connect(sock.lowest_layer(), resolver.resolve(query));
sock.lowest_layer().set_option(tcp::no_delay(true));

// Perform SSL handshake and verify the remote host's certificate.
sock.set_verify_mode(ssl::verify_peer);
sock.set_verify_callback(ssl::host_name_verification("host.name"));
sock.handshake(ssl_socket::client);

// ... read and write as normal ...

요구 사항

일반 헤더 : boost/asio/ssl/host_name_verification.hpp
편의 헤더 : boost/asio/ssl.hpp

Boost.Asio 홈

728x90
반응형