Php 客户端如何在ssl连接中生成公钥?
假设我有一个简单的客户端服务器php ssl应用程序。Php 客户端如何在ssl连接中生成公钥?,php,sockets,ssl,Php,Sockets,Ssl,假设我有一个简单的客户端服务器php ssl应用程序。 -服务器生成私钥/公钥。 -服务器开始侦听套接字。 -客户端连接到套接字: stream\u socket\u enable\u crypto($socket,true,stream\u crypto\u METHOD\u SSLv3\u CLIENT) 它是如何工作的?客户端动态生成私钥/公钥并将其存储在内存中 对于浏览器https,同样的问题,浏览器也会这样做吗?动态生成私钥/公钥 一般来说:客户机从哪里获得密钥 服务器生成私钥/公钥
-服务器生成私钥/公钥。
-服务器开始侦听套接字。
-客户端连接到套接字:
stream\u socket\u enable\u crypto($socket,true,stream\u crypto\u METHOD\u SSLv3\u CLIENT)
它是如何工作的?客户端动态生成私钥/公钥并将其存储在内存中
对于浏览器https,同样的问题,浏览器也会这样做吗?动态生成私钥/公钥
一般来说:客户机从哪里获得密钥
- 服务器生成私钥/公钥
- 服务器开始侦听套接字
- 客户端连接到套接字: 流\u套接字\u启用\u加密($socket,true,流\u加密\u方法\u SSLv3\u客户端)
- 服务器生成私钥/公钥
- 服务器开始侦听套接字
- 客户端连接到套接字: 流\u套接字\u启用\u加密($socket,true,流\u加密\u方法\u SSLv3\u客户端)
你似乎读到了很多错误的信息。其中有很多,众所周知包括所谓的“Linux文档项目”。这方面的规范性参考是和后续版本,Eric Rescoria也有一本关于SSL的好书。进一步补充,服务器证书允许客户端对服务器进行身份验证,而客户端证书也允许服务器对客户端进行身份验证。套接字通常是指IP地址和端口号的组合。客户端和服务器使用对称加密。但它们使用非对称加密共享对称密钥。所以两者都需要私钥/公钥来启动SSL会话,对吗?@corvax不,它们不“使用非对称加密共享对称密钥”。这是另一个城市神话。他们独立计算。正如我在回答中所说的。它从未被传输,也从未被加密过。不,正如我刚才所说,它们不需要公钥和私钥来启动SSL会话。客户端计算预主密钥并将其发送到服务器,该密钥可能使用服务器的公钥进行加密,但这只是一个密钥对的一次使用,根据选择的密码套件,还可以使用其他方法。要进一步添加,服务器证书允许客户端对服务器进行身份验证,而客户端证书也允许服务器对客户端进行身份验证。套接字通常是指IP地址和端口号的组合。客户端和服务器使用对称加密。但它们使用非对称加密共享对称密钥。所以两者都需要私钥/公钥来启动SSL会话,对吗?@corvax不,它们不“使用非对称加密共享对称密钥”。这是另一个城市神话。他们独立计算。正如我在回答中所说的。它从未被传输,也从未被加密过。不,正如我刚才所说,它们不需要公钥和私钥来启动SSL会话。客户端计算预主密钥并将其发送到服务器,该密钥可能使用服务器的公钥进行加密,但这只是一个密钥对的一次使用,根据选择的密码套件,还可以使用其他方法。