
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