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

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

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

説明

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

オプション

peer_name string

使用するピア名。省略した場合は、ストリームをオープンしたときに使ったホスト名をもとに、名前を推測します。

verify_peer boolean

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

デフォルトは TRUE です。

verify_peer_name boolean

ピア名の検証を要求するかどうか。

デフォルトは TRUE です。

allow_self_signed boolean

自己証明の証明書を許可するかどうか。 verify_peer が必要です。

デフォルトは FALSE です。

cafile string

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

capath string

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

local_cert string

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

local_pk string

ローカルファイルシステム上のプライベートキーファイルの場所。 証明書 (local_cert) とプライベートキーを別のファイルに分けたい場合に用います。

passphrase string

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

CN_match string

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

注意: このオプションは非推奨です。PHP 5.6.0 以降では peer_name を使いましょう。

verify_depth integer

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

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

ciphers string

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

デフォルトは DEFAULT です。

capture_peer_cert boolean

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

capture_peer_cert_chain boolean

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

SNI_enabled boolean

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

SNI_server_name string

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

注意: このオプションは非推奨です。PHP 5.6.0 以降では peer_name を使いましょう。

disable_compression boolean

設定すると、TLS 圧縮を無効にします。これは、CRIME アタックベクターを軽減するのに役立ちます。

peer_fingerprint string | array

リモート証明書のダイジェストが指定したハッシュに一致しない場合に、異常終了させます。

string を指定する場合は、その長さでハッシュアルゴリズムを判断します。 "md5" (32) あるいは "sha1" (40) のいずれかです。

array を指定する場合は、キーがハッシュアルゴリズムで、 それに対応する値がダイジェストとなります。

変更履歴

バージョン 説明
5.6.0 peer_fingerprintverify_peer_name が追加されました。 verify_peer のデフォルトが TRUE に変わりました。
5.4.13 disable_compression が追加されました。OpenSSL >= 1.0.0 が必要です。
5.3.2 SNI_enabled および SNI_server_name が追加されました。
5.0.0 capture_peer_certcapture_peer_chainciphers および local_pk が追加されました。

注意

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

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

参考


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