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 ]]);
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP