You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft CA私钥存储位置及导入AWS ACM技术问询

问题解答

1. MachineKeys 文件夹是否存储这些证书的私钥?

不会。该目录仅存储CA服务器自身的加密密钥(比如CA根/从属证书的私钥)、服务器运行服务所需的密钥,绝对不会存储CA颁发给其他用户/计算机的终端实体证书私钥。这是PKI体系的核心安全规则:终端实体(用户、设备)的私钥由自身生成并保管,CA仅存储证书的公钥副本和颁发记录。

你提到的自动续期机制,本质是由证书持有者(原申请用户/计算机)用自己的私钥签署续期请求,CA验证请求合法性后颁发新证书,全程不需要CA持有终端实体的私钥。

2. 如果不是,应该去哪里查找这些私钥?需要使用什么工具?

私钥的存储位置取决于证书类型,需按以下方向排查:

  • 用户证书(由离职用户申请):
    • 私钥原本存储在该用户的Current User\My(个人证书存储)中。若用户账号已禁用,可尝试:
      1. 在域控制器的「AD用户和计算机」中找到该账号,右键→「属性」→「证书」标签,查看是否有留存的证书(但私钥通常不会同步到AD,仅作参考)。
      2. 找到该用户曾经登录过的域内计算机,以域管理员身份打开MMC,添加「证书」管理单元,选择「用户账户」→「其他用户账户」,输入该用户的SID或用户名,查看其个人存储中是否有带私钥的证书(证书图标会显示钥匙标记)。
  • 计算机证书:
    私钥存储在申请证书的目标计算机的Local Machine\My(本地机器证书存储)中。登录该计算机,以管理员身份打开证书MMC,查看「本地计算机」→「个人」存储,寻找目标证书并检查是否附带私钥。

3. 关于你的CA备份

你通过CA MMC备份生成的PFX是CA自身的证书和私钥,仅用于CA服务故障后的恢复,不是你需要的终端实体证书私钥,无法直接用于导入AWS ACM。备份的数据库文件仅记录CA的颁发历史,同样不包含终端实体的私钥。

4. 找到私钥后,如何导出为Base64格式供ACM使用?

如果找到带私钥的证书,可按以下步骤处理:

  1. 导出PFX文件:在证书MMC中右键目标证书→「所有任务」→「导出」,选择「导出私钥」,设置保护密码后保存为PFX格式。
  2. 转换为PEM(Base64)格式:
    • 用OpenSSL工具(推荐):
      # 导出证书(PEM格式)
      openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pem
      # 导出私钥(PEM格式,移除密码保护)
      openssl pkcs12 -in cert.pfx -nocerts -nodes -out key.pem
      
    • 用PowerShell(需管理员权限):
      $pfxPath = "C:\path\to\your\cert.pfx"
      $pfxPass = ConvertTo-SecureString "你的PFX密码" -AsPlainText -Force
      $cert = Import-PfxCertificate -FilePath $pfxPath -Password $pfxPass -CertStoreLocation Cert:\LocalMachine\My
      # 导出证书为Base64
      $certBase64 = [System.Convert]::ToBase64String($cert.RawData)
      # 私钥转换需依赖额外工具或模块,更推荐用OpenSSL完成
      
    转换后的cert.pem和key.pem就是符合ACM要求的Base64格式文件。

内容的提问来源于stack exchange,提问作者bnoeafk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 14:53:18