-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Как расшифровать текст при помощи алгоритма ассиметричного ключа #51
Comments
Здравствуйте! Полагаю, что вам подойдёт этот пример. Основную роль играют |
Я пробовал реализовать этот пример. Дело в том, что я отправляю открытый ключ в Контур, и они возвращают мне строку, которую я должен расшифровать с помощью закрытой части сертификата. var encryptedStr = "здесь_длинная_полученная_строка";
var encryptedBytes = Convert.FromBase64String(encryptedStr);
var encryptedStream = new MemoryStream(encryptedBytes);
var privateKeyAlgorithm = (GostAsymmetricAlgorithm)cert.GetPrivateKeyAlgorithm();
var deformatter = privateKeyAlgorithm.CreateKeyExchangeDeformatter();
using (var receiverSessionKey = deformatter.DecryptKeyExchangeAlgorithm(encryptedBytes))
{
var decryptedString = receiverSessionKey.ToString();
} Но на строке using код падает в ошибки: В чём тут может быть проблема? |
Вам нужно внимательней посмотреть на указанный пример. Метод Помимо зашифрованных данных вы должны как-то получить вектор инициализации и зашифрованный симметричный ключ. На основе ассиметричного алгоритма вы расшифруете симметричный ключ, а потом уже симметричным ключом расшифруете данные. Обычно это делается так. |
Я просто подумал, что есть вариант как-то выдернуть часть реализации расшифровки сообщения. Если я правильно понимаю, то речь идёт о расшифровке сообщения, зашифрованного открытым ключом сертификата. А значит его можно расшифровать закрытым ключом сертификата. |
Да, действительно, RSA имеет методы |
@IverCold Если вопрос решен, предлагаю поделиться решением и закрыть задачу. :) |
@AlexMAS Я лучше приложу инструкцию Контура, которую они мне дали. Нужно получить Access Token. Его можно получить по логину-паролю (как мы делаем сейчас), а можно по сертификату (так должно быть безопаснее). Чтобы получить токен по сертификату расшифровать случайный контент, который присылает Контур. Сам же инструкция вот здесь: |
Ну, я не настолько хорош, чтобы предложить решение в рамках вашей библиотеки = ) |
Спасибо за обратную связь! :) Понятно, то есть вам не удалось выполнить аутентификацию по сертификату. А можете прикрепить файл с base64 этого |
@IverCold Здравствуйте! У вас нет примера |
Добрый день! Я не смог найти в примерах возможности расшифровки текста ассиметричным ключом. Как это можно сделать?
The text was updated successfully, but these errors were encountered: