개발자 Q&A

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

2025.06.17 22:48

stream_socket_enable_crypto 함수 이해를 도와주세요

목록
  • 백엔드버서커 오래 전 2025.06.17 22:48
  • 73
    1
제가 공부하고 있는 PHP의 stream_socket_enable_crypto 함수에 대해 궁금한 점이 있습니다.
stream_socket_enable_crypto 함수는 TLS/SSL 연결을 위한 암호화 키를 활성화하는 함수입니다.
하지만, 이 함수를 사용할 때 어떤 조건이 필요하고, 어떤 파라미터를 사용해야 하는지 정확히 모르겠습니다.
stream_socket_enable_crypto 함수의 사용법과 조건에 대해 자세히 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    stream_socket_enable_crypto 함수는 TLS/SSL 연결을 위한 암호화 키를 활성화하는 함수입니다. 이 함수를 사용하기 위해서는 다음과 같은 조건이 필요합니다.

    1. 연결된 소켓이 TLS/SSL 연결인 경우에만 사용할 수 있습니다.
    2. 연결된 소켓이 TLS/SSL 연결을 활성화한 경우에만 사용할 수 있습니다.

    이 함수의 사용법은 다음과 같습니다.

    - stream_socket_enable_crypto 함수는 tls, ssl, tlsv1, tlsv1_1, tlsv1_2, tlsv1_3, sslv2, sslv3, sslv23, auto 등의 옵션을 사용할 수 있습니다.
    - tls 옵션은 TLS 1.2 또는 1.3을 사용합니다.
    - ssl 옵션은 SSL 2.0 또는 3.0을 사용합니다.
    - tlsv1 옵션은 TLS 1.0을 사용합니다.
    - tlsv1_1 옵션은 TLS 1.1을 사용합니다.
    - tlsv1_2 옵션은 TLS 1.2을 사용합니다.
    - tlsv1_3 옵션은 TLS 1.3을 사용합니다.
    - sslv2 옵션은 SSL 2.0을 사용합니다.
    - sslv3 옵션은 SSL 3.0을 사용합니다.
    - sslv23 옵션은 SSL 2.0 또는 3.0을 사용합니다.
    - auto 옵션은 서버가 지원하는 가장 최신의 TLS 버전을 사용합니다.

    이 함수의 파라미터는 다음과 같습니다.

    - stream: 연결된 소켓
    - enable: 암호화 키를 활성화할지 여부
    - capture_flags: 암호화 키를 캡처할지 여부
    - message: 암호화 키를 캡처할 때 사용할 메시지
    - allow_self_signed: 자체 서명된 인증서를 허용할지 여부
    - peer_name: 인증서의 주체 이름
    - local_cert: 클라이언트의 인증서
    - passphrase: 인증서의 암호
    - cipher_name: 암호화 알고리즘의 이름

    예를 들어, 다음 코드는 TLS 1.2를 사용하는 연결을 활성화하는 코드입니다.

    #hostingforum.kr
    php
    
    $socket = stream_socket_client('tls://example.com:443', $errno, $errstr, 30);
    
    stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT);
    
    

    2025-06-17 22:49

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

검색

게시물 검색