Openvpn使用错误的CA签名证书

我有一个工作(直到现在)的Ubuntu的OpenVPN的服务器。

我认为我的服务器使用错误的CA来签署客户端CRT。

例如:

我使用“source./vars”后跟“./build-key john.doe”,它一切正常(通过工作好吧,我的意思是我得到了john.doe的csr,crt和键)。

但是,如果我testingcrt:“opensslvalidation-CAfile ca.crt键/ john.doe.crt”我得到以下内容:

密钥/ john.doe.crt:C = VE,ST = MI,L =加拉加斯,O = www www,CN = john.doe,emailAddress = [email protected]在0深度查找时出错20:无法获得本地发行者证书

testing任何工作(和旧的)客户端CRT,不会引发错误…

我也试过这个命令:“openssl x509 -in keys / jhon.doe.crt -noout -text | grep Issuer”并引发:

发行人:C = VE,ST = MI,L =加拉加斯,O = www www,CN = fred.durst / name = Fred Durst / [email protected]

这是非常奇怪的,因为弗雷德Durst是一个客户端,而不是一个CA …

当我用一个工作的客户端crt尝试相同的命令,它会抛出:

发行人:C = VE,ST = MI,L =加拉加斯,O = www www,OU = Section,CN = SGBVPN / name = SGBVPN

这对我来说看起来不错…奇怪的是,弗雷德·德斯特是所有这个问题出现之前最后创build的crt ..在fred.durst之前创build的所有较旧的客户端crts都工作得很好,问题只发生在新键上。 。

任何线索? TIA

生成这些证书的方法并不完全一样。 根据脚本的内容,它可能会做几件事情。 不过,我要指出两点。

首先,你还没有说连接不起作用。 我真的希望没有人能够用这些证书进行authentication。 如果是的话,这意味着任何用户都可以签署另一个任意证书请求并授予对您VPN的访问权限。 防止这种情况的方法是颁发明确不是CA证书的证书,并仅设置必要的密钥使用属性。

无论如何,通常您将使用openssl ca命令来签署证书,该命令依赖于来自openssl.conf文件的参数(通常在/etc/openssl.conf或在命令行中指定)。 检查这个选项是否正确。 find正在使用的CA证书和密钥,并确保它们是正确的(再次,这是在opensslconfiguration文件或命令行中)。

如果您不使用openssl,则适用相同的一般解决scheme – findCA证书并确保它没有被意外更换。

如果您设法覆盖密钥(或其他人),则必须find备份的副本或重build您的PKI。

没有脚本的内容,我可以告诉你的不多。