创buildCNG密钥的权限

当我尝试创build机器范围的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) 

它以pipe理员身份运行时工作,但我需要在AD用户帐户下执行此操作,而不将此用户添加到本地pipe理员。

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

找到答案。 用户应被授予%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys上的修改权限。