У меня есть следующий код, в котором SIGNED_FILENAME является константой, указывающей на существующий файл pfx, содержащий закрытый ключ.Установка разрешений для закрытого ключа для сертификата с использованием кода
X509Certificate2 cert = new X509Certificate2(SIGNED_FILENAME, PASSWORD, X509KeyStorageFlags.MachineKeySet);
RSACryptoServiceProvider certRsa = cert.PrivateKey as RSACryptoServiceProvider;
Когда я использую код для добавления разрешений к закрытому ключу я считаю, что они установлены на файл, указанный в certRsa.CspKeyContainerInfo.UniqueKeyContainerName. Когда я просматриваю разрешения сертификатов в оснастке mmts для сертификатов, однако новых разрешений не задано.
Когда я устанавливаю ключи вручную с помощью оснастки «Сертификаты mmc», я нахожу, что закрытый ключ, на который он устанавливает разрешения, отличается от того, который я нашел в свойстве UniqueContainerName, упомянутом выше.
TLDR: каждый раз, когда я запускаю эти две строки кода, файл контейнера ключа изменяется.
Зачем это происходит и как я могу установить разрешения на тот же ключ, что и оснастка certts mmc?