Websocket服务器出现RSA_padding_check_PKCS1_type_2错误

时间:2014-08-12 10:15:35

标签: php sockets ssl websocket

我想从我的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解决这个问题...

为什么我在解密时遇到问题?有解决方案吗?

0 个答案:

没有答案