我应该如何构build我的CA层次结构?

我目前的设置涉及一个自签名的根CA,然后签署我的SSL / TLS CA和我的OpenVPN客户端CA. SSL / TLS CA签署我的服务器的证书,OpenVPN客户端CA签署OpenVPN客户端的证书。

OpenVPN客户端CA应该在自己的层次结构中,与根CA分开吗? 我担心,如果用户导入根CA并信任它,那么具有由我的CA签名的OpenVPN客户端证书的用户就可以将该证书用于服务器,然后在没有任何用户干预的情况下被信任。 除非我用keyUsage失去了一些东西?

正在使用OpenSSL。

增强型密钥使用是您所追求的。

您可以将其设置为Client Authentication (OID: 1.3.6.1.5.5.7.3.2)