我在 Windows Server 2008 中创建了一个独立的证书颁发机构。我可以使用 certreq(来自同一个框)生成具有适当 CN 等的证书,并确保私钥可导出。当我运行 certreq 时,我会获取证书请求文件,然后我可以进入证书颁发机构并通过它颁发证书。我的问题是:我想为不在域中的人(即断开连接的用户)制作这些证书。为了做到这一点,我需要给他们密钥的私钥和公钥部分。从证书颁发机构,我可以通过多种方式导出公钥部分,如果我加载控制台的证书管理单元,我可以在那里导出私钥...针对“当前用户”
问题是,我不想将它用于当前用户,我想将它用于完全不同的目的。我在这里有什么选择?有没有办法让证书颁发机构为我导出私钥和公钥对?
谢谢
答案1
你确实做错了。你不应该创建私钥,它不是私人的共享时使用的密钥。
有什么方法可以让证书颁发机构导出私有文件吗?
证书颁发机构永远不会拥有私钥。因此 CA 无法导出两者。当 certreq 生成证书请求时,私人的密钥存储在系统内,或者存储在生成请求的机器上的用户证书存储中。
如果您真的认为您必须能够违背我的建议为人们生成密钥+证书,那么我建议您使用 certreq 以外的其他东西来生成您的密钥+请求。
如果我是你,我会使用 OpenSSL CLI 应用程序生成私钥和 CSR,将 CSR 提交给 CA,由 CA 签署 CSR,然后检索证书,并使用 OpenSSL CLI 工具使用私钥和证书构建 pkcs12 文件。