如何禁止"应用程序请求访问受保护的项目"弹出窗口

lso*_*tov 5 c# security encryption model-view-controller cryptoapi

我试图使用证书解密数据时弹出窗口.我正在创建一个自签名证书,我正在使用它来加密某些数据,但是在尝试解密数据时我收到以下确认弹出窗口:

CryptoAPI弹出窗口

我如何以编程方式授予访问权限以使用证书?

Ian*_*oyd 11

我认为问题在于证书的私钥已启用"强保护".

在此输入图像描述

启用强大的私钥保护.如果启用此选项,则每次应用程序使用私钥时都会提示您.

任何使用私钥的尝试都会导致Windows显示警告.

您必须在未启用强私钥保护选项的情况下重新导入证书.

执行相同操作的组策略

系统范围的组策略也可能生效:

  • secpol.msc
    • 安全设定
      • 地方政策
        • 安全选项
          • 系统加密:强制对计算机上存储的用户密钥进行强密钥保护

系统加密:强制对计算机上存储的用户密钥进行强密钥保护

此安全设置确定用户的私钥是否需要使用密码.

选项是:

存储和使用新密钥时不需要用户输入首次使用密钥时会提示用户每次使用密钥时都必须输入密码有关详细信息,请参阅公钥基础结构.

默认值:未定义此策略.

如果设置了该组策略安全性选项,则必须将其禁用.

奖金阅读

tl; dr:你不能以编程方式绕过安全边界


Den*_*sov 7

伊恩的回答是正确的。我只想加上我的 2 美分。我已经安装了带有“启用强私钥保护”复选框的 .pfx 证书(参见屏幕截图)。

如果这样做 - 那么没有任何策略可以帮助您删除提示。我必须在没有标记此复选框的情况下重新安装证书。不要问我为什么我首先标记它。

在此输入图像描述