Updating OpenSSL broke OpenVPN's Support for CApath ... ?

Tomas Mraz tomas at openssl.org
Fri Jul 7 10:50:31 UTC 2023


As the change happened when updating from one build of CentOS RPM to
another with the same OpenSSL version, I can only suggest to try to
seek help from Red Hat/CentOS. As this is something inside the CentOS
package that was changed, not in our sources.

Regards,

Tomas Mraz, OpenSSL

On Thu, 2023-07-06 at 16:19 +0200, Jochen Bern wrote:
> Hello everyone, I have a weird problem and am looking for ideas how
> to 
> analyze/fix it ... [addendum: ... and since there were zero replies
> from 
> the OpenVPN list, let me try reposting it here ...]
> 
> I have a CentOS 9 Stream VM that is set up as a VPN server, using the
> CentOS-repos-supplied openvpn-2.5.9-1.el9.x86_64 and OpenSSL
> packages. 
> Originally, the OpenVPN instance was configured to use a CApath, and 
> things worked OK.
> 
> In early April, I updated the VM, and openssl-1:3.0.7-2.el9.x86_64
> was 
> replaced with openssl-1:3.0.7-5.el9.x86_64. From that point on,
> clients 
> attempting to connect would yield server log entries like:
> 
> > VERIFY ERROR: depth=2, error=self-signed certificate in certificate
> > chain: CN=binect.de, ...
> 
> (for client certs issued by an intermediate CA, the error message 
> referring to the root CA cert, both CAs using 2048 bit RSA keypairs
> and 
> SHA256) or
> 
> > VERIFY ERROR: depth=0, error=unable to get local issuer
> > certificate: ..., CN=CNG-Jochen, ...
> 
> (for client certs issued directly from a different root CA, the error
> message referring to the client cert, the CA using 8192 bit RSA and
> SHA512).
> 
> The workaround back then was to have OpenVPN use a CA *file* instead,
> containing the exact same three CA certs concatenated. (There are no 
> CRLs - so far.)
> 
> [On 26-Jun], I re-tested with openssl-1:3.0.7-18.el9.x86_64 (which
> the 
> VM had been updated to in the meantime) and 
> openssl-1:3.0.7-20.el9.x86_64 (fresh update), the problem persists.
> 
> No AVCs, no other errors in the logs. Did a c_rehash on the CApath
> just 
> to make sure, symlinks remain the same. OpenVPN runs as nobody, but 
> everything around the CApath's world readable. (While the CA *file*,
> one 
> dir above the CApath's files and symlinks, is happily root-only.)
> 
> Checking client certs manually, as in "openssl verify --CAfile
> [CAfile] 
> [ClientCertFile]" and "openssl verify --CApath [dir]
> [ClientCertFile]", 
> "OK"s all combinations. (As it should.)
> 
> How can I try to further narrow down the root cause?
> 
> Thanks in advance,

-- 
Tomáš Mráz, OpenSSL



More information about the openssl-users mailing list