使用SSL(WSS)的Websocket PHP服务器

时间:2014-06-01 12:41:41

标签: php ssl encryption websocket

我问,因为我的PHP websocket服务器已经死了。我正在寻找一个为期2周的解决方案,并且我使用GooglewebsocketSSL访问了WSS的所有结果。

问题是由WSS (websocket secure)引起的,我的服务器与WS完美配合。但是我必须使用SSL,我不能放弃这个。更准确地说,当客户端(浏览器)向服务器发送握手时,它是加密的。我是这么认为的,因为它混合了非常奇怪的字符。接下来,我想我应该用openssl_*函数解密这个字符串,所以我写了一个代码:

//$pKey - decrypted private key of my SSL certificate
//$buffer - string with strange chars - probably encrypted handshake
$privateKey = openssl_pkey_get_private($pKey);
openssl_private_decrypt($buffer , $open , $privateKey);
openssl_free_key($privateKey);

我得到错误:

error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01  

error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check failed  

原因$open为空。我尝试了每个填充选项,错误是一样的。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我建议使用单独的进程(Nginx / STunnel)来处理SSL。

请参阅 NGINX to reverse proxy websockets AND enable SSL (wss://)?