Использование ключа RSA Azure Key Vault для шифрования и расшифровки строкC#

Место общения программистов C#
Ответить
Anonymous
 Использование ключа RSA Azure Key Vault для шифрования и расшифровки строк

Сообщение Anonymous »

Я настроил Azure Key Vault для получения ключей RSA для шифрования. Azure отправит мне объект типа KeyBundle. Этот объект содержит JsonWebKey типа RSA размером 2048. Глядя на мой ключ RSA, он имеет два метода: Encrypt (данные byte[], заполнение RSAEncryptionPadding) и Decrypt(данные byte[], заполнение RSAEncryptionPadding). Теперь я пытаюсь зашифровать и расшифровать такую ​​простую строку:

Код: Выделить всё

public EncryptionManager(KeyBundle encryptionKey)
{
string test = "Hello World!";
var key = encryptionKey.Key.ToRSA();
var encryptedString = key.Encrypt(Encoding.UTF8.GetBytes(test), RSAEncryptionPadding.OaepSHA256);
var decryptedString = key.Decrypt(encryptedString, RSAEncryptionPadding.OaepSHA256);
}
Шифрование работает, но расшифровка выдает исключение с сообщением:


Ключ работает не существует.


Вот StackTrace


at System.Security.Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(ключ SafeNCryptKeyHandle
, вход ReadOnlySpan`1, AsymmetricPaddingMode paddingMode, Void*
paddingInfo, логическое шифрование) в
System.Security. Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(Byte[]
данные, заполнение RSAEncryptionPadding, логическое шифрование) в
System.Security.Cryptography.RSAImplementation.RSACng.Decrypt(Byte[]
данные, RSAEncryptionPadding дополнение) в
NxtUtils.Security.EncryptionManager..ctor(KeyBundle EncryptionKey) в
C:\Repos\Enigma\EnigmaPrototype\SharedLibaries\NxtUtils\Security\EncryptionManager.cs:line
26< /p>


Я действительно не знаком с криптографическими алгоритмами. Мой вопрос: как я могу зашифровать и расшифровать простую строку с помощью этого ключа RSA, предоставленного Azure?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/511 ... pt-strings
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»