创建 CNG 密钥的权限

Permissions to create CNG key

当我尝试创建机器范围的 CNG 密钥时:

CngKey.Create(CngAlgorithm2.Rsa, "TestKey", new CngKeyCreationParameters
    {
        KeyCreationOptions = CngKeyCreationOptions.MachineKey
    });

我明白了

System.Security.Cryptography.CryptographicException: Access denied.
   at System.Security.Cryptography.NCryptNative.FinalizeKey(SafeNCryptKeyHandle key)
   at System.Security.Cryptography.CngKey.Create(CngAlgorithm algorithm, String keyName, CngKeyCreationParameters creationParameters)

当 运行 作为管理员时它可以工作,但我需要在 AD 用户帐户下执行此操作,而无需将此用户添加到本地管理员。

授予创建 CNG 密钥的确切权限是什么?可以在哪里设置它们?

已找到答案。应授予用户对 %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys.

的修改权限