socket_read('wss:// host'')返回我无法解密的加密缓冲区

用户名

我正在尝试使用PHP创建一个简单的套接字。到目前为止,套接字开始接受来自客户端的请求,但是我从客户端接收的缓冲区已加密,

这是我的PHP,通过以下命令在服务器上运行$ php file.php

$user_socks = array(0 => false);

$socket = socket_create_listen(8080);
socket_set_nonblock($socket);

while(true){
    $new_conn = socket_accept($socket);

    if(!$new_conn && !$user_socks[0])
        continue;

    if($new_conn && !$user_socks[0])
        $user_socks[0] = $new_conn;

    $buffer = socket_read($user_socks[0], 2048);
        var_dump(mb_convert_encoding($buffer, 'ASCII', 'UTF-8'));
}

我只是在Firebug控制台中运行此行JS,以尝试连接到脚本:

var test = new WebSocket('wss://192.168.2.253:8080');

有人知道我该如何解密此文本?

用户名

经过一些测试,我弄清楚了如何使它工作。原来,该解决方案被stunnel用作守护程序,为Web套接字提供加密。

为了使此功能正常工作,以下是所有必要的额外部分:

Apache VHost配置

<VirtualHost *:443>
    <IfDefine PROXY>
        SSLProxyEngine On
        ProxyPass "/wss/" "wss://127.0.0.1:4430"
        ProxyPassReverse "/wss/" "wss://127.0.0.1:4430"
    </IfDefine>
</VirtualHost>

隧道配置

cert = /path_to_key.pem
key = /path_to_key.pem

[wss]
accept = 4430
connect = 8080

然后使用以下命令连接到加密的Web套接字

var test = new WebSocket('wss://hostname.tld/wss');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP socket_read() 只返回 1 个字符串

XSockets WSS无法连接

“让我们加密”SSL 证书是否适用于端口 2998 (wss/socket.io) 连接?

PHP socket_read / recv阻止python的socket.send

无法在Android中将WebSocket与WSS连接

Java WSS连接无法创建传输异常

Socket_read()说“不是有效资源”

无法使用read()将文件内容读入缓冲区

未知协议:wss:在Android的Socket.IO中

com.sun.xml.wss.XWSSecurityException:无法找到别名“

Neko服务器,Neko / OpenFL客户端:std @ socket_read异常

Powershell Clear-Host替代方案可保留缓冲区

无法处理的mustUnderstand标头:{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security。返回故障

在带有CORS的一个端口上运行&Socket.io HTTP + WSS?

是否可以强制socket.io使用wss而不是ws,而不必更改为https?

尝试通过https://而不是wss://进行连接的Socket.IO并收到CORS错误

为什么我无法在Eclipse中获得wss4j maven依赖关系?

SoapFault MustUnderstand标头,CXF WSS4J没有提供加密属性文件

HTTP上的WSS与HTTPS上的WSS

使用可变缓冲区进行编码/解码和加密/解密的含义

加密/解密输出缓冲区大小以及何时多次调用EVP_EncryptUpdate

Apache CXF-无法从WSS4JOutInterceptor发送凭据吗?

无法通过wss连接到Flask-Socketio,但可以通过ws工作

无法连接到wss://(连接建立错误:net :: ERR_CONNECTION_CLOSED)

Wss Web服务器无法正常使用自签名密钥

来自 rtm.start 的 wss url 给出了无法创建连接错误

Wss4jSecurityInterceptor-我的自定义回调被解释为CleanupCallback对象

如果我在开发机器中缩小WSS日志记录数据库,会有什么危害?

我不知道如何使用 https 或 wss 连接服务器和客户端