gpt4 book ai didi

PHP - SSL 套接字客户端证书

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:01 24 4
gpt4 key购买 nike

我目前正在使用 TCP 套接字在服务器和客户端之间交换数据,使用 PHP 中的套接字流。我希望每个客户端都有一个唯一的证书(我将为他们生成)来访问我的服务器,这样只有我认识的人才能使用它。我已经搜索并发现仅如何在服务器端使用证书,这将使我能够建立 SSL 套接字连接,但我实际需要的是使用客户端服务器证书来识别连接到我的服务器的客户端。这可能使用 PHP 吗?

我想象客户端会像这样连接:

$clientCert = './clientCert.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $clientCert);
$server = stream_socket_client('ssl://IP', $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);

但是服务器如何处理(识别等)此客户端证书?

希望我的问题很清楚。

提前致谢,拉斐尔

最佳答案

您应该使用stream_context_set_option 来设置verify_peer;这将要求另一方验证客户端的证书是否可信。验证是通过检查证书是否由受信任的授权机构签署来完成的,因此您需要通过 cafilecapath 选项指定可以在何处找到授权机构的公钥.

请注意,以上内容在服务器端(允许您对客户端进行身份验证)都适用于客户端——除非您明确指定,否则服务器也不会进行身份验证。

关于PHP - SSL 套接字客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16154898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com