【问题标题】:makecert - create a certificate with issuer namemakecert - 使用颁发者名称创建证书
【发布时间】:2026-01-22 12:10:01
【问题描述】:

我正在尝试使用 MakeCert 创建证书,以便证书管理器的“颁发者”列和“颁发者”列中分别显示“颁发者”和“颁发者”。

makecert -ss My -n "CN=Issued By Name" -cy authority -in "Issued To Name" Test.cer

上面指定的“颁发者名称”未显示在证书管理器的“颁发者”列中。而是显示默认值“根代理”,我无法使用以下代码找到预期的证书。

X509Certificate2Collection certificates = null;
certificates = store.Certificates.Find(X509FindType.FindByIssuerName, "Issued By Name", false);

有人可以帮忙吗?

【问题讨论】:

  • 也许您还需要包含 -ic、-iv 或类似参数。
  • 来自 MakeCert,选项 "-in": "... 仅用于证书存储技术 ... -in IssuerNameString ... 描述:常见颁发者证书的名称。MakeCert 将在证书存储中搜索其通用名称包含 IssuerNameString 的证书。"
  • @PeterMortensen - 这意味着以这种方式创建证书可能需要在安装了证书:“证书存储证书”的机器上完成,否则会失败。有用的帖子,点赞谢谢!

标签: c# x509certificate makecert


【解决方案1】:

注意:作为 Makecert(已弃用)的替代方案,您可以使用这个免费的 GUI 工具来创建签名/自签名证书:http://www.itiverba.com/en/software/itisscg.php

【讨论】:

  • 请在答案中添加一个简单的解释,因为提供的链接将来可能会不可用。
  • 或者您可以使用 PowerShell 并仍然将它们内置到 Windows 中。
最近更新 更多