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 を指定する場合は、キーがハッシュアルゴリズムで、
それに対応する値がダイジェストとなります。
注意
注意:
ssl:// は
https:// および
ftps:// のラッパーの
基盤となるものなので、ssl:// に適用可能なオプションは
https:// および ftps:// にも
適用可能です。
注意:
SNI (Server Name Indication) を使うには、PHP のコンパイル時に
OpenSSL 0.9.8j 以降を使わなければなりません。SNI をサポートしているかどうかは
OPENSSL_TLSEXT_SERVER_NAME
で判定します。