使用 Windows SDK 7.1 命令提示符创建证书时出错

使用 Windows SDK 7.1 命令提示符创建证书时出错

我是一名经验很少的新管理员,尝试配置我的 ADFS 以与基于云的帮助台软件的单点登录解决方案配合使用,以供我的组织内部使用。我已经在 Server 2012 上安装了 Windows 7.1 SDK 包,现在正在尝试制作证书。PDF 指南现在指示我在 Windows SDK 7.1 命令提示符中键入以下命令:

makecert -r -pe -n "CN=adfs.yourdomain.com" -b 01/01/2013 -e 01/01/2014 -sky exchange Server.cer
  -sv Server.pvk

(在上面的命令中,请提供 AD FS 系统的完全限定名称,而不是“adfs.yourdomain.com”)

pvk2pfx.exe -pvk Server.pvk -spc Server.cer -pfx Server.pfx

输入命令 1.) 后,系统提示我输入密码。接下来,我输入 2.),此时系统显示错误消息,如下所示:

ERROR: File not found
Error Code = 0x80070002

我的问题有两个方面:首先,也是最直接的,这里发生了什么,我该如何解决这个问题?其次,更一般地说,我有哪些资源可以帮助我熟悉这些目前不太清楚的命令?我的意思是,我甚至不知道我在输入什么……

答案1

看一下如何:创建您自己的测试证书

本文解释了所有参数的含义。

例如 cn 是您的证书的主题名称、b 是有效期从、e 是有效期到等等。

或者参考完整的 MSDN 文档 -Makecert.exe(证书创建工具)

本质上,您正在创建一个证书,然后将其转换为 pfx 文件(这是一种也包含私钥的证书文件)。

如果您使用 IIS 进行 ADFS(即不是 2012 R2),那么您可以使用 IIS 执行此操作 -如何在 IIS 7 中创建自签名证书

答案2

感谢 nzpcmad,他为我提供了了解命令提示符如何工作的资源,我能够为我的问题提供解决方案,希望其他人将来可以使用:

命令提示符要求命令中涉及的所有可执行文件都位于命令提示符所设置的目录中。(只需查看“>”字符之前的文本,即可看到命令提示符所设置的目录)。因此,在这种特殊情况下,它要求 makecert.exe 和 pvk2pfx.exe 位于同一目录文件夹中,而 Windows SDK 7.1 命令提示符中的默认文件夹并非如此——它位于默认命令提示符中的 Bin 文件夹中。

我在 C:/ 中创建了一个名为“MakeCert”的文件夹。然后在文件路径“C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin”中找到了运行各自命令所需的两个可执行程序——即 makecert.exe 运行命令“makecert”,pvk2pfx.exe 运行命令“pvk2pfx”。接下来,我将这两个可执行文件放在我创建的文件夹“C:/MakeCert”中。最后,我使用命令提示符命令“cd C:/MakeCert”——这意味着将目录 (cd) 更改为文件夹 C:/MakeCert。

这将目录从默认路径“C:\Program Files\Microsoft SDKs\Windows\v7.1”更改,并提供一个包含我需要的两个 .exe 文件的目录以及一个存放我创建的证书文件的位置。不再出现“文件未找到”错误。

相关内容