在 Windows 中存储加密的个人证书?

在 Windows 中存储加密的个人证书?

我最近给自己弄了一个电子邮件 S/MIME 签名/加密证书。我把它安装在我的 Windows 机器上,这显然要求我输入用于加密证书的密码,然后启动 Outlook 进行测试。果然,我能够发送签名的电子邮件。然而,让我烦恼的是,我从未被提示输入任何密码。我猜这意味着,当我安装证书时,Windows 解密了证书和私钥并将其存储在某个地方,要么是明文,要么是使用其他密钥加密,隐式地绑定到我的用户帐户。

就我个人而言,出于安全原因,我希望输入密码每一次我想使用我的证书。是否可以在 Windows 中实现这种行为(开箱即用或使用第三方插件)?

答案1

您的证书已被导入 Windows 证书存储区,并在那里使用与您的 Windows 帐户绑定的密钥进行加密(该密钥又使用您的 Windows 登录密码进行加密)。

您可以使用certmgr.msc来管理证书(查看个人的)。

个人证书可以通过多种方式保护。在 XP 中,只有从 PKCS#12 文件导入时才会显示这两个选项。您必须删除并重新导入证书/密钥才能更改它们。

证书导入向导

  • 不可出口:导入证书时,禁用“将此密钥标记为可导出”。这样,程序仍然可以使用证书进行签名和解密,但无法访问私钥本身。

  • 强力保护:导入证书时,勾选“启用强私钥保护”,导入完成后会要求选择CryptoAPI安全级别。

    安全级别

    • 中 – 每次使用密钥时,Windows 都会要求确认

    • 高 – 您可以输入一个保护密码,每当使用密钥时,Windows 都会要求输入该密码。

    (至少在 Windows XP 中,有一个小错误:您必须选择“高”才能将“描述”字段从默认CryptoAPI 私钥。但这对实际安全没有影响。)

相关内容