从这个问题的答案来看问题我被建议不要在 ca.key 服务器上创建客户端密钥,而是让客户端创建自己的私钥,并简单地将 csr 传递给 ca 服务器进行签名并取回。这样就不必分发私钥了。
我在 Google 上搜索了不少术语和短语,但还没有找到任何关于如何做到这一点的信息。我查看了 openvpn 上的操作指南,虽然它讨论了这个选项,但没有说明如何操作。有人能给我提供一些教程吗?
我还想知道这对于客户来说是否容易实现,特别是当他们不太熟悉电脑的时候。
答案1
有几种方法。
由于我们的大多数证书都是直接颁发给硬件令牌的,并且最终用户使用的是 Windows/IE,因此我们最常做的事情是使用 MS CAPI 从浏览器自动生成密钥和请求。这种方法非常万无一失,而且完全不需要接触。如果您的用户使用的是 Windows,并且您打算将证书安装在本地证书存储中,那么这种方法就非常适合您。证书签名后,您可以为他们提供一个链接,让他们收集证书并将其与现有私钥一起直接放回存储中。
或者,我们为非 Wintel 用户提供的方法是,为他们提供一个完整的命令,他们可以复制并运行该命令以生成所需的输出。通常,这对我们来说是 OpenSSL,但您可以参考 OpenVPN 附带的实用程序,因为他们应该已经安装了该实用程序。然后,他们将 CSR 粘贴回 Web 表单,它会收到一些简单的验证并发回进行签名。然后,您将 CRT 返回给他们,其中包含要执行的操作的最终说明。
我的经验是,你需要用尽可能少的指令向用户提供“做什么”的详细信息。尽量为他们做尽可能多的工作,并限制误解的范围。
答案2
具体来说,我在与 openvpn 服务器不同的远程机器上构建了客户端密钥和证书。您可以在这里找到一个不错的教程,希望对您有所帮助http://www.throx.net/2008/04/13/openvpn-and-centos-5-installation-and-configuration-guide/