powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
5 сообщений из 5, страница 1 из 1
RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
    #39213896
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Нашел в МСДН статью о том, как шифровать XML асинхронным ключем, но кое что не понятно.

Статья о шифровке XML тут
https://msdn.microsoft.com/ru-ru/library/ms229746(v=vs.110).aspx

Статья о расшифровке тут
https://msdn.microsoft.com/ru-ru/library/ms229919(v=vs.110).aspx

Вопрос по статье о расшифровке. В статье и шифруется и расшифровывается приватным ключом, что мне не понятно !
Вот фраза, которая меня сильно смущает:
Код: c#
1.
...Он извлекает ранее созданный закрытый ключ RSA из контейнера ключей, а затем использует этот ключ RSA для расшифровки...



Судя по коду, действительно используется закрытый ключ. Мне это не понятно. Асиметричное шифрование же и существует для того, чтобы шифровать одним ключем, а расшифровывать другим. Иначе это получается симметричное шифрование же.

Я пробовал подсунуть в код только открытый ключ - чтобы посмотреть, будет ли работать только с открытым ключем.

Код: c#
1.
2.
3.
4.
5.
var OnlyPublickKey = rsaKey.ToXmlString(false);
RSACryptoServiceProvider rsaKey2 = new RSACryptoServiceProvider();
rsaKey2.FromXmlString(publickKey);

Decrypt(xmlDoc, rsaKey2, "rsaKey");



Но получаю исключение "Ключ не существует."

Как же так ? Что за странная статья такая про асинхронное шифрование ?

Знаете ли вы правильное решение по тому, как нужно шифровать Xml асинхронным ключем шифрования - может ну ее, эту статью ?
...
Рейтинг: 0 / 0
RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
    #39213920
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно открытым шифруется, приватным расшифровывается. Ты вроде обратное ожидаешь.
...
Рейтинг: 0 / 0
RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
    #39213922
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у него не ассиметричное шифрование, ему xmlsign надо проверить , а это обычный sha1 hash
...
Рейтинг: 0 / 0
RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
    #39213928
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TОбычно открытым шифруется, приватным расшифровывается. Ты вроде обратное ожидаешь.

Вы оказались правы. Сработало !
...
Рейтинг: 0 / 0
RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
    #39213930
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Сделал так. И действительно сработало

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
                
string publicKey = rsaKey.ToXmlString(false);
RSACryptoServiceProvider publicKeyRsa = new RSACryptoServiceProvider();
publicKeyRsa.FromXmlString(publicKey);

string privateKey = rsaKey.ToXmlString(true);
RSACryptoServiceProvider privateKeyRsa = new RSACryptoServiceProvider();
privateKeyRsa.FromXmlString(privateKey);

...
Encrypt(xmlDoc, "EncryptedElement1", publicKeyRsa, "rsaKey");
...
Decrypt(xmlDoc, privateKeyRsa, "rsaKey");



Вдруг кому пригодится код.
Спасибо за помощь.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / RSACryptoServiceProvider расшифровка EncryptedXml. Не очень понятно.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]