2

我正在使用 Microsoft 证书颁发机构从公司网络签署一些证书。使用certreq实用程序一切正常,但我没有在任何地方找到模板的用途。

就我而言,我需要在 Linux 服务器(使用 OpenSSL)中创建一些证书请求,然后在另一台服务器(Windows Server 2012)中使用 Microsoft CA 对其进行签名。该过程基本描述如下:

  • 在 Linux 服务器中创建 .csr 文件和密钥 ( openssl req -newkey rsa:1024 -keyout myKey.key -out myCsr.csr -subj /CN=mydomain.com/O=Organization/C=US/ST=ST/L=City);
  • 将 csr 文件发送到安装了 CA 的 Windows Server;
  • 调用 certreq 实用程序来创建证书本身(certreq -submit -attrib "CertificateTemplate:MyWebServerTemplate" -config DOMAINCA\CA1 myCsr.csr myCert.cer);
  • 需要时,再次将证书发送到 Linux 并使用命令将 .cer 转换为 .crt openssl x509 -outform DER -in myCert.cer -out myCert.crt。当 certreq 与-binary选项一起使用时,这是需要的

据我所知,模板的选择是强制性的,但无论我选择哪个,都会发生变化。我试图选择许多模板,但显然任何改变

更新: 经过一些测试,我注意到有些模板实际上改变了CSR中的一些原始信息,但我的问题仍然是:模板的目的是什么,既然信息都在CSR中,为什么它是强制性的?如何强制 MS CA 使用 CSR 信息?

我是这个证书管理的新手。我在这个过程中误解了什么吗?

4

0 回答 0