Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:无法使用TLS协议和函数流\u socket\u client()设置私钥文件_Php_Ssl_Certificate_Key - Fatal编程技术网

PHP:无法使用TLS协议和函数流\u socket\u client()设置私钥文件

PHP:无法使用TLS协议和函数流\u socket\u client()设置私钥文件,php,ssl,certificate,key,Php,Ssl,Certificate,Key,我在PHP中使用stream_socket_client()连接到使用TLS协议的服务器时遇到问题 让我在下面展示我的代码: $host = '192.168.0.112'; $context = stream_context_create(); $result = stream_context_set_option($context, 'ssl', 'local_cert', 'D:/xampp/htdocs/ssl_test/cert.pem'); $result = stream_con

我在PHP中使用stream_socket_client()连接到使用TLS协议的服务器时遇到问题

让我在下面展示我的代码:

$host = '192.168.0.112';
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'local_cert', 'D:/xampp/htdocs/ssl_test/cert.pem'); 
$result = stream_context_set_option($context, 'ssl', 'verify_peer', 'true');
$result = stream_context_set_option($context, 'ssl', 'passphrase', '123456'); 
$socket = stream_socket_client('tls://'.$host.':5443/Exec', $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $context);
运行后,我收到如下错误消息:

警告:stream\u socket\u client():无法在第9行的D:\xampp\htdocs\ssl\u test\cert.pem中设置私钥文件'D:\xampp\htdocs\ssl\u test\index2.php'

警告:stream\u socket\u client():未能在第9行的D:\xampp\htdocs\ssl\u test\index2.php中启用加密

警告:流\u套接字\u客户端():无法连接到tls://192.168.0.112:5443/Exec (未知错误)位于第9行的D:\xampp\htdocs\ssl\u test\index2.php中

请注意,certificate cert.pem附带了两个常见文件key.pem和password=“123456”

我不知道配置服务器的stream_context_set_option()有什么错误或缺失,以及在何处将key.pem设置为配置

如果有人知道,请帮我

非常感谢您的光临,
Vannak。

我找到了解决方案,因为我的cert.pem需要attache私钥,所以我得到了这个错误。因此,我需要再添加一行来连接key.pem

stream_context_set_option($context, 'ssl', 'local_pk', 'D:/xampp/htdocs/ssl_test/key.pem');
希望这个问题能对其他人有所帮助