我问,因为我的PHP
websocket服务器已经死了。我正在寻找一个为期2周的解决方案,并且我使用Google
,websocket
,SSL
访问了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
为空。我尝试了每个填充选项,错误是一样的。
有什么想法吗?
答案 0 :(得分:0)
我建议使用单独的进程(Nginx / STunnel)来处理SSL。
请参阅 NGINX to reverse proxy websockets AND enable SSL (wss://)?