我在Debian / jessie上安装了一个OpenVPN服务器,它使用用户/密码authentication(通过LDAP获得)授予我的用户访问VPN的权限。
该设置故意不使用客户端证书。
当然,服务器确实有主机vpn.example.com的证书。
要启动TLS会话,服务器和客户端共享一个通用的CA ,用于签署服务器的证书。
到现在为止,我已经build立了自己的PKI来签署我自己的服务器证书,并与所有的客户共享我自己的公共CA密钥。
这让我觉得很麻烦,因为每当证书过期时,我都必须向所有客户端分发新的CA证书。 它还要求我至less分发两个文件:configuration本身和伴随的证书,这使得用户部署更容易出错(而不是简单的:“将该configuration文件复制到该目录中”)。
相反,我想使用一些公共的,众所周知的PKI(例如let-encrypt / ACME)来签署我的服务器证书。 由于所有的客户端都已经接受了let-encrypt,所以这应该允许客户端只用他们的用户名/密码进行authentication(而没有“token”就像CA-key)。
不幸的是,似乎OpenVPN需要一个明确的CA-certificate (在服务器和客户端)。
有没有办法让openvpn信任一个服务器证书,如果它是由一些已经被系统信任的CA签名的话?