| ||||
| ||||
Здравствуйте. Может кто подсказать? Есть поток зашифрованных TLS сообщений в виде строки. stream_str = CryptMsg1_str + CryptMsg2_str + ... + CryptMsgN_str; Причем длины CryptMsg1_str и CryptMsg2_str не известны. Так же есть момент когда CryptMsgN_str (последнее сообщение) не до конца записано. Вопрос: Как можно расшифровать эти сообщения? Вариант 1 (плохой вариант): for(int i=1; i<stream_str_size; i++) { memcpy(msg_str, stream_str, i); if(DecryptMessage(msg_str) == SEC_E_OK) border = i; // граница первого сообщения } Вариант 2 (немного лучше). используя SEC_E_INCOMPLETE_MESSAGE и SEC_E_OK для поиска длины путем деления попалам stream_str. Этот вариант на практике не получается :( есть случаи когда DecryptMessage(CryptMsg_str+str) == SEC_E_OK. |