PHP:无法使用TLS协议和函数流\u socket\u client()设置私钥文件
我在PHP中使用stream_socket_client()连接到使用TLS协议的服务器时遇到问题 让我在下面展示我的代码: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
$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');
希望这个问题能对其他人有所帮助