Windows 证书颁发机构将其根私钥存储在哪里?

Windows 证书颁发机构将其根私钥存储在哪里?

我在 Hyper-V 虚拟机上有一个 Windows Server 2012 R2 Enterprise Root Certification Authority,由于目前未知的原因,无法再启动。

我不知道虚拟机是否会重新上线,但我知道的是,我有它的虚拟磁盘,它似乎没有损坏;我可以将它安装在另一个系统上并访问其所有内容。

我想在新的虚拟机上重建 CA,并且我很熟悉这个过程,因为之前已经执行过大量的 CA 迁移;我知道在哪里可以找到证书颁发机构数据库(C:\Windows\system32\certlog),以及如何将其复制到新建的 CA。

我不知道的是,CA 的根证书存储在哪里?我需要它的私钥来重建 CA,但我不知道在故障 CA 的虚拟磁盘上哪里可以找到它。

答案1

您无法从离线机器恢复 CA 密钥。有两个原因:

  1. 密钥的引用有些复杂,因此很难找到实际的私钥文件名。 在您的例子中,私钥文件位于:%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys
  2. 即使您成功识别文件名,您也无法将文件复制到另一台计算机并恢复密钥对,因为本地的私钥受到 DPAPI 保护,您将无法在另一台计算机上解密加密密钥。

如果您至少可以在安全模式下运行计算机(或使用命令提示符的保存模式),您可以轻松识别文件名并尝试将密钥导出到 PFX。

相关内容