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

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

説明

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

オプション

peer_name string

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

verify_peer bool

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

デフォルトは true です。

verify_peer_name bool

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

デフォルトは true です。

allow_self_signed bool

自己証明の証明書を許可するかどうか。 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 ファイルをエンコードした際の パスフレーズ。

verify_depth int

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

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

ciphers string

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

デフォルトは DEFAULT です。

capture_peer_cert bool

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

capture_peer_cert_chain bool

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

SNI_enabled bool

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

disable_compression bool

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

peer_fingerprint string | array

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

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

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

security_level int

セキュリティレベルを設定します。 指定されない場合、ライブラリのデフォルトのセキュリティレベルが使われます。 セキュリティレベルについては、 » SSL_CTX_get_security_level(3) に説明があります。

PHP 7.2.0 および OpenSSL 1.1.0 以降が必要です。

変更履歴

バージョン 説明
7.2.0 security_levels が追加されました。 OpenSSL >= 1.1.0 が必要です。

注意

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

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

関連キーワード:  コンテキスト, peer, string, 設定, 一覧, オプション, cert, local, verify, キー