【问题标题】:How to create a self signed cerficate using command prompt?如何使用命令提示符创建自签名证书?
【发布时间】:2016-01-19 05:27:05
【问题描述】:

有没有办法在 Windows 2012 R2 的 IIS 中使用命令提示符创建自签名证书? 我看了很多文档,到处都有使用 Windows powershell 但不使用命令提示符的教程。 我的系统中没有安装 makecert 实用程序。是否有任何其他命令或实用程序。 我看到了一个 selfssl 实用程序,但我不确定它是否可以在 windows 2012 RE 服务器上运行。

【问题讨论】:

  • 没有内置工具,因为 Microsoft 和其他供应商广泛从 cmd 迁移到 PowerShell。为什么不能使用 PowerShell?有什么停止的原因吗?
  • 没有具体原因,只是想探索其他选项。我安装了 Windows sdk,它为我提供了 makecert.exe,使用它我可以创建一个自签名证书。但是谁能告诉我使用 makecert 创建所需的最低参数是什么,以及一旦它完成并显示成功,我在哪里可以在我的系统中查找我的证书?

标签: windows ssl-certificate


【解决方案1】:

试试certreq 工具。数据以 inf 文件的形式给出。前面提到的链接包含有关文件结构的信息。 This 链接包含 SSL 证书的示例 inf 文件(可能会有更多帮助)。

然后运行

certreq -new your_inf_file.inf generated_req.req

作为副作用,它会在您在 inf 文件中指定的存储中的证书注册请求中生成一个自签名证书。只需将证书移动到My 存储,并且(因为它是自签名的)移动到Trusted Root Certification Authorities

您也可以使用xca。这是一个基于 openssl 构建的不错的实用程序,可让您创建任何证书(自签名或任何 CA 链),并且易于使用。

【讨论】:

  • 您的解决方案不正确,因为它不是生成自签名证书的正确方法。我向 AskDS 博客添加了正确的链接,该链接描述了生成证书的支持方式。
  • @CryptoGuy 感谢发布如何使用 certreq 生成自签名证书的更好链接。顺便说一句,right 生成自签名证书的方式是什么? :)
  • right 是 Microsoft 支持的一种。对于 certreq,right 方式是 AskDS 博客中提供的方式。 New-SelfSignedCertificate PS cmdlet 是另一种 right 方式。或者,您可以使用微软支持的CertEnroll COM 接口。
【解决方案2】:

我不会打扰makecert,因为它已被弃用。相反,我建议您使用 PowerShell,因为它是 Windows Server 中的主流管理工具。 Windows Server 2012 有一个内置的 cmdlet 来生成自签名证书:https://technet.microsoft.com/en-us/library/hh848633(v=wps.630).aspx

当 Microsoft 弃用 makecert 工具时,他们增强了 certreq cmdline 工具,使其能够生成自签名证书,但有开销:http://blogs.technet.com/b/askds/archive/2012/08/14/rsa-key-blocking-is-here.aspx

【讨论】:

  • 开销是多少?我在您发布的博客文章中没有找到它。也许我只是错过了它。
  • INF 文件准备、certreq INF 特定语法等的开销。 PowerShell 通过使用命名参数来避免所有这些(可以通过使用自动完成和内置帮助 susbsystem 来探索)。我个人只在重要的地方使用 certreq(几乎从不)。
猜你喜欢
  • 1970-01-01
  • 2019-11-07
  • 2012-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多