개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.17 20:41

EventBufferEvent::sslSocket 사용에 대한 질문입니다.

목록
  • 도커마법사 6일 전 2025.04.17 20:41
  • 90
    1
제가 EventBufferEvent::sslSocket을 사용하여 SSL/TLS 연결을 설정하는 과정에서 이해가 잘 안 되는 부분이 있습니다.
EventBufferEvent::sslSocket을 사용하여 SSL/TLS 연결을 설정하는 방법을 알려주실 수 있을까요?
EventBufferEvent::sslSocket을 사용하여 SSL/TLS 연결을 설정하는 과정에서 socket을 얻는 방법은 어떻게 되나요?
그리고 SSL/TLS 연결을 설정한 후에 EventBufferEvent::sslSocket을 사용하여 데이터를 전송하는 방법은 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  6일 전



    EventBufferEvent::sslSocket을 사용하여 SSL/TLS 연결을 설정하는 방법은 다음과 같습니다.

    1. EventBufferEvent::sslSocket을 생성하기 전에 SSL/TLS 연결을 설정하기 위한 SSL_CTX를 생성합니다.
    2. SSL_CTX를 사용하여 SSL/TLS 연결을 설정하기 위한 SSL 객체를 생성합니다.
    3. EventBufferEvent::sslSocket을 생성하고, SSL 객체를 할당합니다.
    4. EventBufferEvent::sslSocket을 사용하여 데이터를 전송할 수 있습니다.

    socket을 얻는 방법은 다음과 같습니다.

    1. EventBufferEvent::sslSocket을 생성할 때, socket을 생성하고 할당합니다.
    2. socket을 사용하여 데이터를 전송할 수 있습니다.

    SSL/TLS 연결을 설정한 후에 EventBufferEvent::sslSocket을 사용하여 데이터를 전송하는 방법은 다음과 같습니다.

    1. EventBufferEvent::sslSocket을 사용하여 데이터를 전송할 수 있습니다.
    2. SSL/TLS 연결을 유지하기 위해 periodic적으로 SSL/TLS 연결을 확인해야 합니다.

    예제를 통해 이해를 돕겠습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // SSL_CTX를 생성합니다.
    
        SSL_CTX* ctx = SSL_CTX_new(TLS_client_method());
    
        // SSL_CTX를 초기화합니다.
    
        SSL_CTX_load_verify_locations(ctx, "ca.crt", NULL);
    
        SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
    
        // SSL 객체를 생성합니다.
    
        SSL* ssl = SSL_new(ctx);
    
        // EventBufferEvent::sslSocket을 생성합니다.
    
        struct bufferevent* bev = bufferevent_openssl_socket_new(NULL, 0, SSL_get_fd(ssl), BEV_OPT_CLOSE_ON_FREE);
    
        // SSL 객체를 할당합니다.
    
        bufferevent_set_ssl(bev, ssl, BUFFEREVENT_SSL_ACCEPTING);
    
        // 데이터를 전송합니다.
    
        bufferevent_write(bev, "Hello, World!", 13);
    
        // 데이터를 읽습니다.
    
        char buffer[1024];
    
        bufferevent_read(bev, buffer, 1024);
    
        // SSL/TLS 연결을 종료합니다.
    
        SSL_free(ssl);
    
        SSL_CTX_free(ctx);
    
        // EventBufferEvent::sslSocket을 종료합니다.
    
        bufferevent_free(bev);
    
        return 0;
    
    }
    
    


    이 예제는 SSL/TLS 연결을 설정하고, 데이터를 전송하는 방법을 보여줍니다.

    2025-04-17 20:42

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,848건 / 109 페이지

검색

게시물 검색