本文将向您展示如何纠正Windows Internet信息服务器(IIS)中的“无私钥”错误消息。 如果收到此错误,则表明以前在IIS中导入证书的尝试均未包含私钥。
要更正此问题,您将:
- 导入证书 使用Microsoft管理控制台(MMC)进入个人商店
- 捕获序列号 有关证书
- 运行 CERTUTIL 程序 修理商店
- 导出更正的证书
- 最后 通过IIS重新导入证书.
使用MMC导入证书
- 在计算机上打开MMC(您可以通过在Windows搜索栏中键入“ mmc”来找到该程序)。
- 选择“文件>添加/删除管理单元”(或键入 控制-M)。 选择“证书”,然后单击 添加 按钮。
- 选择“计算机帐户”,然后单击 点击下一页...
…然后直接引导管理单元来管理“本地计算机”,然后单击 完成. - 点击 OK 添加管理单元。
- 接下来,导航到“证书(本地计算机)>个人>证书”文件夹。
- 右键单击该文件夹,然后从菜单中选择“所有任务>导入”以打开“证书导入向导”。
- 在导入向导中,确保选择“本地计算机”并单击 点击下一页.
- 找到并指定目标证书(该证书应为.p7b格式),然后按 点击下一页.
- 设置向导以将导入的证书放置在“个人”存储中。 击中 点击下一页 继续。
- 检查设置,然后单击 完成 导入证书。
捕获序列号
运行 certutil
曲目
- 为了执行下一步,您将需要使用管理员权限打开命令行会话。 最简单的方法是搜索“ cmd”,然后右键单击cmd图标并选择“以管理员身份运行”。 (如果询问您是否希望允许该程序在计算机上进行更改,请选择“是”。)
- 在命令行中,使用捕获的序列号输入以下命令:
certutil -repairstore my "
PLACE_SERIAL_NUMBER_HERE"
如图所示,确保将序列号放在引号之间。 **最好实际输入序列号,因为粘贴功能有时会在cmd窗口中丢失字符。 - 如果成功,此命令将返回有关证书的一些信息和确认消息。
- 关闭命令会话并刷新MMC。
导出更正的证书
- 右键单击证书,然后选择“所有任务>导出”以打开证书导出向导。
- 单击向导的欢迎页面后,请确保将选项设置为“是,导出私钥”,然后单击 点击下一页.
- 选择导出证书的格式(此处为PKCS#12编码或.PFX文件)。 确保选中复选框以在路径中包括所有证书并导出所有扩展属性,然后单击 点击下一页.
- 系统将提示您输入密码来保护此证书捆绑包(一个好主意,因为它包含您的私钥)。 创建并确认您的密码,然后单击 点击下一页.
- 选择您要导出的文件的名称和位置。 您可以浏览到自己喜欢的位置–确保以.pfx扩展名保存文件。请注意: 包括日期是区分此证书文件与其他证书文件的好方法。
- 查看信息。 如果一切看起来正确,请单击 完成.
- 您将收到确认导出成功的确认。
使用IIS重新导入证书
现在,您将拥有一个可以通过IIS重新导入而不会引发“ No Private Key”错误的文件。 SSL.com上有关于如何执行此操作的一般说明 单独的文章在这里。 出于我们的目的,请记住在处理此证书时选择“导入”而不是“完成证书申请”,并在出现提示时输入密码。
将证书绑定到站点时,还请记住还要将“类型”设置为“ https”,将端口设置为“ 443”(除非您的网络管理员另有指示)。
感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.