创建CNG密钥

时间:2015-09-28 19:13:39

标签: c# windows permissions cryptography cng

当我尝试创建机器范围的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密钥权限的确切权限是什么?可以在哪里设置?

1 个答案:

答案 0 :(得分:1)

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