FTP コンテキストオプション
CURL コンテキストオプション
コンテキストオプションとパラメータ
PHP Manual

# SSL コンテキストオプション

SSL コンテキストオプション — SSL コンテキストオプションの一覧

### 説明

ssl:// および tls:// トランスポート用のコンテキストオプションです。

### オプション

`verify_peer` boolean

  SSL サーバ証明書の検証を要求するかどうか。

  デフォルトは `FALSE` です。

`allow_self_signed` boolean

  自己証明の証明書を許可するかどうか。

  デフォルトは `FALSE` です。

`cafile` string

  ローカルファイルシステム上の証明書ファイルの場所。 verify_peer オプションでリモートサーバとの 認証の際に使用する。

`capath` string

  cafile が指定されていなかったりその場所にファイルが 見つからなかったりした場合、capath が指す ディレクトリを検索して認証ファイルを探します。capath は認証ファイルのディレクトリを正確に指している必要があります。

`local_cert` string

  ファイルシステム上のローカル証明書ファイルのパス。 あなたの証明書とプライベートキーを含み、PEM エンコードされた ファイルである必要があります。オプションで、発行者の 認証チェーンを含めることも可能です。

`passphrase` string

  local_cert ファイルをエンコードした際の パスフレーズ。

`CN_match` string

  予期している一般名 (CN)。PHP は限定されたワイルドカード検索を 行います。もし一般名がこれにマッチしなかった場合、接続の試行は 失敗します。

`verify_depth` integer

  証明書のチェインが深すぎる場合に終了するかどうか。

  デフォルトでは検証を行いません。

`ciphers` string

  使用可能な暗号化方式の一覧を設定します。設定できるフォーマットは » ciphers(1) の説明を参照ください。

  デフォルトは DEFAULT です。

`capture_peer_cert` boolean

  `TRUE` に設定すると、peer_certificate コンテキストオプションがピア証明書を含んで作成されます。

`capture_peer_chain` boolean

  `TRUE` に設定すると、peer_certificate_chain コンテキストオプションが証明書チェインを含んで作成されます。

`SNI_enabled` boolean

  `TRUE` に設定すると、サーバ名の表示 (SNI) が有効になります。 これを有効にすると、同じ IP アドレスで複数の証明書を使えるようになります。

`SNI_server_name` string

  設定すると、この値がサーバ名として用いられるようになります。 設定されていない場合は、ストリームをオープンしたときに使ったホスト名からサーバ名を推測します。

### 変更履歴

バージョン | 説明
--- | ---
5.3.2 | `SNI_enabled` および `SNI_server_name` が追加されました。
5.0.0 | `capture_peer_cert`、 `capture_peer_chain` および `ciphers` が追加されました。

### 注意

> 注意: ssl:// は https:// および ftps:// のラッパの 基盤となるものなので、ssl:// に適用可能なオプションは https:// および ftps:// にも 適用可能です。

> 注意: SNI (Server Name Indication) を使うには、PHP のコンパイル時に OpenSSL 0.9.8j 以降を使わなければなりません。SNI をサポートしているかどうかは `OPENSSL_TLSEXT_SERVER_NAME` で判定します。

### 参考

- ソケットコンテキストオプション

FTP コンテキストオプション
CURL コンテキストオプション
コンテキストオプションとパラメータ
PHP Manual