Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何使用命令提示符创建自签名证书?_Windows_Ssl Certificate - Fatal编程技术网

Windows 如何使用命令提示符创建自签名证书?

Windows 如何使用命令提示符创建自签名证书?,windows,ssl-certificate,Windows,Ssl Certificate,是否有方法使用命令提示符在windows 2012 R2中的IIS中创建自签名证书? 我看了很多文档,到处都有使用Windows powershell但不使用命令提示符的教程。 我的系统中没有安装makecert实用程序。是否有其他命令或实用程序。 我看到了一个selfssl实用程序,但我不确定它是否能在windows 2012 RE server上工作。试试这个工具。数据以inf文件的形式给出。前面提到的链接包含有关文件结构的信息。链接包含SSL证书的示例inf文件(可能会有更多帮助) 然后跑

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

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

然后跑

certreq -new your_inf_file.inf generated_req.req
作为一个副作用,它将在您在inf文件中指定的存储中的证书注册请求中生成一个自签名证书。只需将证书移动到
My
存储,并(因为它是自签名的)移动到
受信任的根证书颁发机构


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

我不会为
makecert费心,因为它已被弃用。相反,我建议您使用PowerShell,因为它是Windows Server中的主流管理工具。Windows Server 2012具有用于生成自签名证书的内置cmdlet:


当Microsoft弃用makecert工具时,他们增强了cmdline工具,使其能够生成自签名证书,但这会增加开销:

由于Microsoft和其他供应商广泛地从cmd转移到PowerShell,因此没有内置工具。为什么你不能使用PowerShell?有停止的原因吗?没有具体原因,只是想探索其他选择。我安装了windows sdk,它为我提供了makecert.exe,我可以使用它创建自签名证书。但是,有谁能告诉我使用makecert创建所需的最小参数是什么?而且,一旦makecert完成并显示成功,我可以在我的系统中的何处查找我的证书?您的解决方案不正确,因为它不是生成自签名证书的正确方法。我在AskDS博客中添加了正确的链接,该链接描述了支持的生成证书的方法。@CryptoGuy感谢您发布了如何使用certreq生成自签名证书的更好链接。顺便问一下,生成自签名证书的正确方法是什么?:)
right
是Microsoft支持的。在certreq的情况下,
right
方式是AskDS博客中提供的方式
newselfsignedcertificate
PS cmdlet是另一种
正确的方法。或者,您可以使用Microsoft支持的
CertEnroll
COM接口。开销是多少?我没有在你发布的博客帖子中找到它。也许我只是错过了它。在INF文件准备、certreq INF特定语法等方面的开销。PowerShell通过使用命名参数(可以通过使用自动完成和内置帮助susbsystem进行探索)来避免所有这些。我个人只在重要的地方使用certreq(几乎从不)。