|
Вопрос # 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;
Сбоило именно на присвоении строки с ключем.
Кодер второго поколения.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|