Здравствуйте
Необходимо расшифровать блока данных используя не мой Private key, а их Public Key.
private byte[] decode(string urlEncodedEncryptedData, RSACryptoServiceProvider cryptoProvider)
{
var encryptedB64Data = UrlDecode(urlEncodedEncryptedData);
var encryptedData = Base64Decode(encryptedB64Data);
return cryptoProvider.Decrypt(encryptedData, false); //<- тут exception
}
public byte[] DecodeUsingPublic(string urlEncodedEncryptedData)
{
using (var rsaCryptoProvider = new RSACryptoServiceProvider(cspParam))
{
rsaCryptoProvider.FromXmlString(_wwPublicKeyInfo);
return decode(urlEncodedEncryptedData, rsaCryptoProvider);
}
}
При попытки сделать Decrypt возникает ошибка "Bad key". Насколько я знаю алгоритм RSA произвести такое действие — вполне нормально. Мне кажется что проблема с загрузкой ключа. Но ничего вразумительного в интернете я не нашел =(
Пробовал создать экземпляр CspParameters и устанавливал флаг CspProviderFlags.UseMachineKeyStore, потом KeyNumber.Signature — ничего не помогло.