Windows CA和.pfx文件

通过命令行从Windows CA获取证书,CA证书和私钥(又名.pfx文件)的正确方法是什么?

我一直这样做的方式是创build一个请求文件,使用记事本与所有相关的设置(可导出=真,增强密钥使用扩展,主题),然后使用certreq(-new标志)将该.inf转换为。请求,并使用certreq将其提交给CA取回证书。 然后我将添加证书certreq(-accept标志),然后使用certutil -privatekey -exportpfx标志导出它。

我正确地做了吗?

我想你可能已经在尽可能less的几步做到了。 直到您拥有私钥和签名的CSR之后,您才能拥有PFX,并且直到CA批准您的请求之后才能拥有签名证书。 (根据证书模板设置,可能需要或不需要手动pipe理员批准。)

但是,certreq会在您的证书存储区中将您的私钥激活,因为它会生成CSR,这就是您通常必须在生成请求的同一台计算机上完成证书请求的原因。 我不禁感到,这至less是微软编码人试图“保护我们自己”的一部分,因为我们不知道如何保护我们珍贵的私钥。 我不能怪他们。 如果certreq没有使私钥远离私钥,那么我们可能会在每个Web服务器上的每个Web开发人员的桌面configuration文件中看到私钥。

无论如何,我离题了,但是如果你想比certreq给你的私钥更灵活,可以使用OpenSSL命令行工具来生成你的私钥。 ( openssl genrsa -out private.key 2048 )然后,您可以随心所欲地做任何事情,而无需从证书存储中导出它们。