Создать ключ / Шифрование / Дешифрование для RSACryptoProvider и BouncyCastle - PullRequest
0 голосов
/ 11 декабря 2018

Ключ, сгенерированный через RSACryptoProvider, работает для BouncyCastle Encryption (с использованием publickey) / Decryption (с использованием privatekey)?

 using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
        {
            var pu = rsa.ToXmlString(false);               
            var pr = rsa.ToXmlString(true);               
        }

Кроме того, как сгенерировать ключ с помощью BouncyCastle?

1 Ответ

0 голосов
/ 03 января 2019

Ответ на первый вопрос: да, RSA является стандартом и не зависит от используемых библиотек.

Во-вторых, попробуйте это:

    public static void GetRsaKeyPair(out string privateXml, out string publicXml)
    {
        CryptoApiRandomGenerator randomGenerator = new CryptoApiRandomGenerator();
        SecureRandom secureRandom = new SecureRandom(randomGenerator);
        var keyGenerationParameters = new KeyGenerationParameters(secureRandom, 1024);

        var rsaKeyPairGenerator = new RsaKeyPairGenerator();
        rsaKeyPairGenerator.Init(keyGenerationParameters);
        AsymmetricCipherKeyPair rsaKeyPair = rsaKeyPairGenerator.GenerateKeyPair();

        var privateRsaParameters = DotNetUtilities.ToRSAParameters((RsaPrivateCrtKeyParameters)rsaKeyPair.Private);

        using (RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider())
        {
            rsaProvider.ImportParameters(privateRsaParameters);
            privateXml = rsaProvider.ToXmlString(true);
            publicXml = rsaProvider.ToXmlString(false);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...