Установка разрешений на закрытый ключ для сертификата с использованием кода

У меня есть следующий код, где SIGNED_FILENAME является константой, указывающей на существующий файл pfx, который содержит закрытый ключ.

X509Certificate2 cert = new X509Certificate2(SIGNED_FILENAME, PASSWORD, X509KeyStorageFlags.MachineKeySet);
RSACryptoServiceProvider certRsa = cert.PrivateKey as RSACryptoServiceProvider; 

Когда я использую код для добавления разрешений к закрытому ключу, я обнаруживаю, что они установлены в файле, указанном в certRsa.CspKeyContainerInfo.UniqueKeyContainerName. Однако при просмотре разрешений для сертификатов в оснастке «Сертификаты MMC» новые разрешения не устанавливаются.

Когда я устанавливаю ключи вручную с помощью оснастки mmc «Сертификаты», я обнаруживаю, что закрытый ключ, для которого он устанавливает разрешения, отличается от того, который я обнаружил в свойстве UniqueContainerName, упомянутом выше.

TLDR: Каждый раз, когда я запускаю эти две строки кода, файл контейнера ключей изменяется.

Почему это происходит и как я могу установить разрешения для того же ключа, что и оснастка MMC «Сертификаты»?

Ответы на вопрос(1)

Ваш ответ на вопрос