当我尝试创建机器范围的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密钥权限的确切权限是什么?可以在哪里设置?
答案 0 :(得分:1)
找到答案。用户应被授予%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys
的修改权限。