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