В настоящее время я использую RSACryptoServiceProvider и хочу перейти на RSACng.Я использую его для подписи данных.Причина изменения в том, что я использую заполнение Pkcs1 и понимаю, что заполнение Pss предпочтительнее.Мы проходим проверки безопасности.
Мой вопрос: как мне создать экземпляр RSACng, чтобы он каждый раз использовал один и тот же закрытый / открытый ключ?
С RSACryptoServiceProvider я делаю:
CspParameters cp = new CspParameters();
cp.KeyContainerName = "ContainerName";
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(cp);
передача имени контейнера означает, что он использует ключ, который сохраняется в хранилище контейнеров на машине.
СRSACng, я пробовал это, но я получаю исключение: «Запрошенная операция не поддерживается»
RSACng RSA = new RSACng(CngKey.Create(CngAlgorithm.Sha256, ContainerName));
Мне просто нужно иметь возможность передать имя ключа хранилища, чтобы вместо этого он каждый раз использовал один и тот же ключсоздания нового ключа.