我想从我的SSL网站向我的php-websocket服务器发送消息。服务器使用通配符证书。
这是客户:
var wsUri = "wss://ticket.qwellcode.de:9001";
websocket_qcode_intern = new WebSocket(wsUri);
这是我的Websocket服务器:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($socket, 0, $port);
socket_listen($socket);
...
要解密消息(例如标题),我使用以下代码:
function decryptString($cryptText)
{
$keyFile=fopen("PATH/TO/pemfile.pem","r") or die("NOT FOUND");
$privateKey=fread($keyFile,8192);
fclose($keyFile);
openssl_get_privatekey($privateKey);
$binText = base64_decode($cryptText);
/* NOT WORK WITH THIS PADDING */
//openssl_private_decrypt($binText,$clearText,$privateKey,OPENSSL_PKCS1_PADDING);
openssl_private_decrypt($binText,$clearText,$privateKey);
print openssl_error_string();
return($clearText);
}
问题是填充“OPENSSL_PKCS1_PADDING”(或其他填充)我得到以下消息:
error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block
type is not 02
使用选项“OPENSSL_NO_PADDING”,我得到了这样的垃圾解码代码:
▬♥☺ ø☺ ù♥☻→ª ↕ FRomTý¤▬3ŵ▬g»►F↕Ñ;nÏágdCH╝ *└
└ └‼└¶└↕└└◄ 3 2 E 9 8 ê ▬ / A 5 ä
♣ ♦☺ D ↑ ▬ ‼domain.de ☺ ☺
♠ ↨ ↑ ↓ ♂ ☻☺ # 3t ♣ ♣☺
我使用SSL-Zetificat加密,PKCS#1 SHA-1 - AES 128 CBC和SHA 1。
如何解密此代码? ...我尝试了一切......是的,我知道,我可以使用流套接字..但我会用“普通”的php-socket解决这个问题...
为什么我在解密时遇到问题?有解决方案吗?