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.0OpenSSL 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 ]]);

更新於: 2020-09-21

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告