php - 是否有可能实现 SSL (wss ://) using PHP socket extension?

标签 php sockets ssl websocket

我有一个 websocket 服务器,使用 PHP 的 socket 库实现,并且一切正常...只要您使用的是 ws:// 协议(protocol)。

但是,我们现在需要升级库以通过 SSL 工作,即支持 wss:// 协议(protocol)。

是否有可能使用 PHP socket 实现 wss://(或者更一般地说,我想是 SSL 连接)函数,或者我们是否需要重写代码以使用 stream_socket函数?

(请注意,切换到 stream_socket 可能还有其他充分的理由,因此无论答案如何,我们都可以考虑这样做。但是,在我花时间评估这两个选项之前,我想确认坚持使用 socket 甚至是我们的一个选择。)

最佳答案

我代表 @BA_Webimax 提交答案谁在评论中发布了可能是正确答案的内容,但还没有返回以将其变成我可以接受的答案。

因此作为对“这可能吗?”这个问题的直接回答:

It is possible to do but requires you to implement a lot of things that are already done for you when using stream_socket functions.

-- @BA_Webimax

为了进一步充实这一点,这意味着手动处理所有 SSL 协商和加密。这将是一项相当大的工作量,需要进行大量测试,如果实现不当,还存在引入安全漏洞的风险。

重写代码以使用 stream_socket 函数可能会更快、更安全、更健壮。

因此,虽然技术上的答案是肯定的,但有可能,实用的答案可能是否定的,事实并非如此。

关于php - 是否有可能实现 SSL (wss ://) using PHP socket extension?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50470356/

相关文章:

javascript - 如何在页面加载之前显示 reCAPTCHA

javascript - 在 javascript 中安全地存储数据(自动建议)

php - 使用 laravel 发送电子邮件,但不识别变量

java - 如何在后台线程中执行 run() 之外的方法?

php - 有没有办法在调用构造函数之前设置属性?

在 Internet 域中为端口 0 发送数据报的正确命令

php - 使用 Web 应用程序实时跟踪 Android 手机

java - 对于我的应用程序的 SSL 使用,我如何影响 'known_hosts' 与 self 认证的服务器?

ssl - 如何为指向另一个服务器 IP 地址的 A Record 子域设置 SSL 证书

使用 java.security.Keystore 对象的 SSL KafkaAdminClient 对象