PHP SSL 上下文選項
介紹
ssl:// 和 tls:// 傳輸的上下文選項列表。
peer_name | 要使用的對等方名稱。如果未設定此值,則根據開啟流時使用的主機名猜測名稱。 |
---|---|
verify_peer | 要求驗證使用的 SSL 證書。預設為 TRUE。 |
verify_peer_name | 要求驗證對等方名稱。預設為 TRUE。 |
allow_self_signed | 允許自簽名證書。需要 verify_peer。預設為 FALSE |
cafile | 本地檔案系統上證書頒發機構檔案的路徑,用於驗證遠端對等方的身份。 |
capath | 必須是正確雜湊的證書目錄。 |
local_cert | 檔案系統上本地證書檔案的路徑。 |
local_pk | 檔案系統上本地私鑰檔案的路徑,如果證書和私鑰使用單獨的檔案。 |
passphrase | 用於對local_cert檔案進行編碼的密碼。 |
CN_match | 我們期望的通用名稱。如果通用名稱不匹配,則連線嘗試將失敗。 |
verify_depth | 如果證書鏈過深則中止。 |
ciphers | 設定可用密碼的列表。字串的格式在 » ciphers(1) 中描述。 |
capture_peer_cert | 如果設定為 TRUE,則將建立一個包含對等方證書的peer_certificate上下文選項。 |
capture_peer_cert_chain | 如果設定為 TRUE,則將建立一個包含證書鏈的 peer_certificate_chain 上下文選項。 |
SNI_enabled | 如果設定為 TRUE,則啟用伺服器名稱指示。 |
SNI_server_name | 如果設定,此值將用作伺服器名稱指示的伺服器名稱。否則,根據使用的主機名猜測伺服器名稱 |
disable_compression | 如果設定,則停用 TLS 壓縮。 |
peer_fingerprint | 當遠端證書摘要與指定的雜湊不匹配時中止。 |
security_level | 設定安全級別。如果未指定,則使用預設安全級別。從PHP 7.2.0 和 OpenSSL 1.1.0 開始可用。 |
示例
此示例顯示 SSL 上下文設定。
$stream_context = stream_context_create([ 'ssl' => [ 'local_cert' => '/path/to/key.pem', 'peer_fingerprint' => openssl_x509_fingerprint(file_get_contents('/path/to/key.crt')), 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true, 'verify_depth' => 0 ]]);
廣告