Я пытаюсь понять, как использовать MCSAPI для шифрования AES с поставщиком криптографических услуг ncipher (CSP ).Что меня озадачивает, так это то, что конструктор AesCryptoServiceProvider
не принимает класс CspParameters
, используемый для указания nCipher в качестве csp.
CspParameters cp = new CspParameters(24, "nCipher Enhanced RSA and AES Cryptographic Provider");
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CspParameters) // works fine
AesCryptoServiceProvider aes = new AesCryptoServiceProvider(); // Constructor takes no parameters.
Из того, что я вижу, у классов Rijndael также нет способа указать другие сторонние CSP. Что мне не хватает? Есть ли способ инициализировать всю мою систему для загрузки CSP для всех последующих криптографических вызовов? Я предполагаю, что использую CSP только для управления симметричным ключом, а затем использую значение по умолчанию AesCryptoServiceProvider
для шифрования/дешифрования? RSACryptoServiceProvider(CspParameters)
работает нормально. Но я хочу сделать симметричное шифрование. Мне нужно сделать это в среде C #.NET.