通过Windows Server 2008 R2上的IIS 7.5生成CSR是否总是创建一个新的私钥?


11

为Windows 2008 R2服务器生成CSR,并且需要确保用于CSR的私钥是新的。

我曾经使用OpenSSL创建自己的自签名证书进行测试,如果我没记错的话,我能够指定要使用的私钥。

在IIS服务器证书中,从不要求我生成或选择私钥。

那么,在基于Windows的服务器上生成CSR是否总是为其创建新的私钥吗?如果没有,如何确保制作/使用了新的私钥?


1
你是说私钥
EEAA 2014年

1
是的,谢谢,现在编辑。我是一名系统管理员之前的开发人员,因此主键才刚浮出水面。:)
jzimmerman2011

生成CSR或生成证书?您到底在做什么,怎么做?(有所不同。)
HopelessN00b 2014年

我正在生成CSR,该CSR将提供给CA以创建证书。这是通过IIS及其服务器证书界面完成的。
jzimmerman2011

Answers:


8

“创建证书申请”向导会自动生成一个新的密钥对。

在IIS服务器证书中,从不要求我生成或选择私钥。

这实际上是不正确的-向导对此并不十分明显。

输入身份信息(通用名称,位置,组织等)并单击“下一步”后,第二个屏幕将询问两件事:

  1. 加密服务提供商(CSP)
  2. 位长

在此处输入图片说明

选择默认的CSP-Microsoft RSA SChannel CSP-且位长2048将与Windows等效,即:

openssl req -new -newkey rsa:2048

签名请求剖析

CSR本身可以被认为具有3个“部分”:

  1. 身份信息以明文显示(CN,位置,组织等)
    • 这只是字符串,签名人(CA)可以随意更改
  2. 公钥
    • 您需要在服务器上使用相应的私钥
  3. 可选扩展字段
    • 仍然只是清除文字信息

发行者会审核签名请求中的信息,并且可能会更改(1)和(3)的内容。
然后,颁发者使用它的CA 私钥来加密请求者的公钥(2)。

颁发最终证书时,证书包含:

  1. 身份信息以明文显示(CN,位置,组织等)
    • 现在添加了发行人信息
  2. 公钥
    • 还是和上面一样
  3. 可选扩展字段
    • 现在也许有发行人扩展字段
  4. 签名斑点
    • 这是用CA的私钥签名的公钥

现在,下一次客户获得您的证书时,它可以使用颁发者CA的公钥来解密签名Blob(4),并将其与证书中的公钥进行比较

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.