Шифрование RSA из приложения UWP в функцию Azure - PullRequest
0 голосов
/ 01 мая 2020

Я передаю ключ publi c из приложения UWP:

// Open the algorithm provider for the specified asymmetric algorithm.
AsymmetricKeyAlgorithmProvider objAlgProv = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1);
// Create an asymmetric key pair.
CryptographicKey keyPair = objAlgProv.CreateKeyPair(512);
// Export the public key to a buffer for use by others.
// Default X509SubjectPublicKeyInfo format
IBuffer buffPublicKey = keyPair.ExportPublicKey();
byte[] publicKey = null;
CrytographicBuffer.CopyToByteArray(buffPublicKey, out publicKey);
Conver.ToBase64String(publicKey);

Приведенная выше строка отправляется в мое приложение Azure function.

Вот фрагмент кода мой Azure код приложения функции:

// Algorithm = RsaPkcs1
    // Key Length = 512

    using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(512))
    {
        byte[] bPublicKey = Convert.FromBase64String(publickey);
        byte[] bExponent = {1, 0, 1};

        RSAParameters RSAKeyInfo = new RSAParameters() { Modulus = bPublicKey, Exponent = bExponent };
        RSA.ImportParameters(RSAKeyInfo);

        try
        {
            return RSA.Encrypt(sessionCode, System.Security.Cryptography.RSAEncryptionPadding.Pkcs1);
        } 
        catch (Exception errenc)
        {

        }
        return null;
    }

Я пытаюсь зашифровать значение с помощью ключа publi c и вернуть.

У меня возникли проблемы с моей Azure функцией Интеграция приложений и UWP.

Azure сторона шифрует ключом publi c; ошибка не генерируется. Зашифрованное значение отправляется обратно в UWP. Когда я go для дешифрования на стороне UWP, я получаю ошибку «Значение не попадает в ожидаемый диапазон».

Любая помощь приветствуется. Возникли затруднения с аспектом ключа c на стороне azure.

Еще раз спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...