Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP SSL 컨텍스트 옵션

<시간/>

소개

ssl:// 에 대한 컨텍스트 옵션 목록 및 tls:// 수송.

peer_name 사용할 피어 이름입니다. 이 값이 설정되지 않으면 스트림을 열 때 사용한 호스트 이름을 기반으로 이름을 추측합니다.
verify_peer 사용된 SSL 인증서의 확인이 필요합니다. 기본값은 참입니다.
verify_peer_name 피어 이름 확인이 필요합니다. 기본값은 참입니다.
allow_self_signed 자체 서명된 인증서를 허용합니다. verify_peer가 필요합니다. 기본값은 FALSE
카페 인증 기관의 위치 원격 피어의 ID를 인증하는 데 사용할 로컬 파일 시스템의 파일입니다.
캐패스 올바르게 해시된 인증서 디렉토리여야 합니다.
local_cert 파일 시스템의 로컬 인증서 파일 경로.
local_pk 인증서와 개인 키에 대해 별도의 파일이 있는 경우 파일 시스템의 로컬 개인 키 파일에 대한 경로입니다.
암호구 local_cert 파일이 인코딩되었습니다.
CN_match 일반 이름이 필요합니다. 일반 이름인 경우 일치하지 않으면 연결 시도가 실패합니다.
검증_깊이 인증서 체인이 너무 깊으면 중단합니다.
암호 사용 가능한 암호 목록을 설정합니다. 문자열 형식은 » ciphers(1)에 설명되어 있습니다.
capture_peer_cert TRUE로 설정된 경우 peer_certificate 피어 인증서를 포함하는 컨텍스트 옵션이 생성됩니다.
capture_peer_cert_chain TRUE로 설정하면 인증서 체인을 포함하는 peer_certificate_chain 컨텍스트 옵션이 생성됩니다.
SNI_활성화됨 TRUE로 설정하면 서버 이름 표시가 활성화됩니다.
SNI_server_name 설정하면 이 값은 서버 이름 표시를 위한 서버 이름으로 사용됩니다. 그렇지 않으면 사용된 호스트 이름을 기반으로 서버 이름을 추측합니다.
disable_compression 설정된 경우 TLS 압축을 비활성화합니다.
피어_지문 원격 인증서 다이제스트가 지정된 해시와 일치하지 않으면 중단합니다.
보안 수준 보안 수준을 설정합니다. 지정하지 않으면 기본 보안 수준이 사용됩니다. PHP 7.2.0부터 사용 가능 및 OpenSSL 1.1.0 .

예시

이 예는 SSL 컨텍스트 설정을 보여줍니다.

$stream_context = stream_context_create([ 'ssl' => [
   'local_cert' => '/path/to/key.pem',
   'peer_fingerprint' => openssl_x509_fingerprint(file_get_contents('/path/to/key.crt')),
   'verify_peer' => false,
   'verify_peer_name' => false,
   'allow_self_signed' => true,
   'verify_depth' => 0 ]]);