pronamic / wp-http-extended-ssl-support
v1.0.0
2024-09-09 13:56 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.11
- pronamic/wp-coding-standards: ^2.2
- szepeviktor/phpstan-wordpress: ^1.3
README
此库扩展了WordPress HTTP API,增加了额外的SSL选项。它提供了将cURL选项 CURLOPT_SSLCERT
、CURLOPT_SSLKEY
和 CURLOPT_SSLKEYPASSWD
传递给请求的选项。
用法
\wp_remote_get( $url, [ 'ssl_certificate' => \ABSPATH . '/../private/your-certificate.pem', 'ssl_key' => \ABSPATH . '/../private/your-key.pem', 'ssl_key_password' => 'your-password', ] );
\wp_remote_get( $url, [ 'ssl_certificate_blob' => '-----BEGIN CERTIFICATE-----', // Must be a full SSL certificate string. 'ssl_key_blob' => '-----BEGIN ENCRYPTED PRIVATE KEY-----', // Must be a full SSL key string. 'ssl_key_password' => 'your-password', ] );
TLS后端和cURL
需要意识到PHP和cURL可以使用不同的TLS后端。并非所有TLS后端都支持所有cURL SSL选项。所有cURL选项及其在各个TLS后端中的支持的概述可以在 https://curl.se/libcurl/c/tls-options.html 找到,以下是2024年6月11日部分表格内容
libcurl可以使用不同的TLS后端,这些后端在构建时和运行时都可以选择。此表显示了所有TLS相关选项,并详细说明了与它一起工作的TLS后端集合。
OpenSSL 列也涵盖了 BoringSSL、libressl、quictls、AWS-LC 和 AmiSSL。