| 
| 
 | Вопрос # 5 611/ вопрос открыт / | 
 |  Здравствуйте!Серверное приложение имеет статический RSA ключ. Клиентское приложение знает его открытый ключ. Генерирует свои ключи, и свой открытый ключ отсылает серверу в сообщении зашифрованном ключом сервера. Прием сообщения и его дешифровка происходят нормально, однако при попытке положить ключ в хранилище серверное приложение сбоит и клиент теряет с ним связь.
 
 Вопрос по коду: А правильно ли я записываю ключ клиента?
 
 P.S. Периодически при дебаге вижу такую ошибку RSA decoding error: Invalid block format. Почему одна и та же строка может вызывать или не вызывать данную ошибку?
 Приложение:Переключить в обычный режим    begin   Client.RSA.KeySize:=TAsynmKeySize(aks128);  end;    Client.RSA.PublicKey.ExponentAsString:=KeyParser(DecryptedMessage,2);
|  |   Вопрос задал: firstvirus (статус: 1-ый класс)Вопрос отправлен: 1 сентября 2011, 23:15
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 2 сентября 2011, 10:10; участников в обсуждении: 2. 
|   | Вадим К (статус: Академик), 2 сентября 2011, 00:11 [#1]:Ну раз сбоит запись код, который парсит - его и нужно показывать. А не общий код. Также, проверяете ли Вы, что данные пришли правильные и в полном объеме? можно к примеру, для готовых к отправке на сервер данных сосчитать crc32, а на сервере его проверить. Если они не совпадают, тогда проблема в сетевой подсистеме. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | firstvirus (статус: 1-ый класс), 2 сентября 2011, 10:10 [#2]:Log.Lines.Add('Расшифрованное сообщение: '+DecryptedMessage); 
 Этой строчкой проверял правильно ли пришел ключ. Ключ приходит правильно, парсится тоже правильно, опять же проверял при помощи лога.
 
 Client.RSA.PublicKey.ModulusAsString:=KeyParser(DecryptedMessage,1);
 
 Эту строчку менял на:
 parsed:=KeyParser(DecryptedMessage,1);
 Client.RSA.PublicKey.ModulusAsString:=parsed;
 Сбоило именно на присвоении строки с ключем.
 Кодер второго поколения. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |