介绍
ssl:// 和tls://传输的上下文选项列表。
peer_name | 要使用的对等名称。如果未设置此值,则根据打开流时使用的主机名来猜测名称。 | verify_peer | 要求验证所使用的SSL证书。默认为TRUE。 |
---|
verify_peer_name | 需要验证对等名称。默认为TRUE。 |
---|
allow_self_signed | 允许自签名证书。需要verify_peer。默认为FALSE |
---|
cafile | 证书颁发机构文件在本地文件系统上的位置,用于验证远程对等方的身份。 |
---|
盖头 | 必须是正确散列的证书目录。 |
---|
local_cert | 文件系统上本地证书文件的路径。 |
---|
local_pk | 在证书和私钥使用单独文件的情况下,文件系统上本地私钥文件的路径。 |
---|
密码短语 | 用来编码local_cert文件的密码。 |
---|
CN_match | 我们期望的通用名称。如果公用名不匹配,则连接尝试将失败。 |
---|
verify_depth | 如果证书链太深,则中止。 |
---|
密码 | 设置可用密码列表。字符串的格式在»ciphers(1)中进行了描述。 |
---|
capture_peer_cert | 如果设置为TRUE,将创建一个包含对等证书的 peer_certificate上下文选项。 |
---|
capture_peer_cert_chain | 如果设置为TRUE,将创建一个包含证书链的peer_certificate_chain上下文选项。 |
---|
已启用SNI | 如果设置为TRUE,则将启用服务器名称指示。 |
---|
SNI_server_name | 如果设置,则此值将用作服务器名称以指示服务器名称。否则,将根据使用的主机名猜测服务器名称 |
---|
disable_compression | 如果设置,请禁用TLS压缩。 |
---|
peer_fingerprint | 当远程证书摘要与指定的哈希不匹配时中止。 |
---|
安全级别 | 设置安全级别。如果未指定,则使用默认安全级别。自 PHP7.2.0和OpenSSL1.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 ]]);