SSL コンテキストオプション
  SSL コンテキストオプション — SSL コンテキストオプションの一覧
  
 
 
  説明
  
   ssl:// および tls://
   トランスポート用のコンテキストオプションです。
  
  
 
  オプション
  
   
    
     - 
      peer_namestring
- 
      
       使用するピア名。省略した場合は、ストリームをオープンしたときに使ったホスト名をもとに、名前を推測します。
       
- 
      verify_peerbool
- 
      
       SSL サーバー証明書の検証を要求するかどうか。
       
       デフォルトは trueです。
 
- 
      verify_peer_namebool
- 
      
       ピア名の検証を要求するかどうか。
       
       デフォルトは trueです。
 
- 
      allow_self_signedbool
- 
      
       自己証明の証明書を許可するかどうか。
       verify_peerが必要です。
 
       デフォルトは falseです。
 
- 
      cafilestring
- 
      
       ローカルファイルシステム上の証明書ファイルの場所。
       verify_peerオプションでリモートサーバーとの
       認証の際に使用する。
 
- 
      capathstring
- 
      
       cafileが指定されていなかったりその場所にファイルが
       見つからなかったりした場合、capathが指す
       ディレクトリを検索して認証ファイルを探します。capathは認証ファイルのディレクトリを正確に指している必要があります。
 
- 
      local_certstring
- 
      
       ファイルシステム上のローカル証明書ファイルのパス。
       あなたの証明書とプライベートキーを含み、PEM エンコードされた
       ファイルである必要があります。オプションで、発行者の
       認証チェーンを含めることも可能です。
       プライベートキーは、
       local_pkで指定した別のファイルに含めることも可能です。
 
- 
      local_pkstring
- 
      
       ローカルファイルシステム上のプライベートキーファイルの場所。
       証明書 (local_cert) とプライベートキーを別のファイルに分けたい場合に用います。
 
- 
      passphrasestring
- 
      
       local_certファイルをエンコードした際の
       パスフレーズ。
 
- 
      verify_depthint
- 
      
       証明書のチェインが深すぎる場合に終了するかどうか。
       
       デフォルトでは検証を行いません。
       
- 
      ciphersstring
- 
      
       使用可能な暗号化方式の一覧を設定します。設定できるフォーマットは
       » ciphers(1) の説明を参照ください。
       
       デフォルトは DEFAULTです。
 
- 
      capture_peer_certbool
- 
      
       trueに設定すると、peer_certificateコンテキストオプションがピア証明書を含んで作成されます。
 
- 
      capture_peer_cert_chainbool
- 
      
       trueに設定すると、peer_certificate_chainコンテキストオプションが証明書チェインを含んで作成されます。
 
- 
      SNI_enabledbool
- 
      
       trueに設定すると、サーバー名の表示 (SNI) が有効になります。
       これを有効にすると、同じ IP アドレスで複数の証明書を使えるようになります。
 
- 
      disable_compressionbool
- 
      
       設定すると、TLS 圧縮を無効にします。これは、CRIME アタックベクターを軽減するのに役立ちます。
       
- 
      peer_fingerprintstring | array
- 
      
       リモート証明書のダイジェストが指定したハッシュに一致しない場合に、異常終了させます。
       
       string を指定する場合は、その長さでハッシュアルゴリズムを判断します。
       "md5" (32) あるいは "sha1" (40) のいずれかです。
       
       array を指定する場合は、キーがハッシュアルゴリズムで、
       それに対応する値がダイジェストとなります。
       
- 
      security_levelint
- 
      
       セキュリティレベルを設定します。
       指定されない場合、ライブラリのデフォルトのセキュリティレベルが使われます。
       セキュリティレベルについては、
       » SSL_CTX_get_security_level(3)
       に説明があります。
       
       PHP 7.2.0 および OpenSSL 1.1.0 以降が必要です。
       
 
 
 
 
  注意
  注意: 
   
    ssl:// は
    https:// および
    ftps:// のラッパーの
    基盤となるものなので、ssl:// に適用可能なオプションは
    https:// および ftps:// にも
    適用可能です。
   
  
  注意: 
   
    SNI (Server Name Indication) を使うには、PHP のコンパイル時に
    OpenSSL 0.9.8j 以降を使わなければなりません。SNI をサポートしているかどうかは
    OPENSSL_TLSEXT_SERVER_NAME で判定します。