I am trying to use OpenVPN 2.2.1 on Linux (Ubuntu 12.04) to connect to a VPN server maintained by a colleague. He uses TunnelBlick (on a Mac) successfully. I am trying to use his client configuration verbatim, the only changes being different files for the local peer. But I am getting an unhelpful error message (editing out private bits):

$ openvpn mycorp.conf
… OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Mar 30 2012
… NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
… Cannot load CA certificate file mycorp-ca.crt path (null) (SSL_CTX_load_verify_locations) (OpenSSL)
… Exiting

The file in question (mycorp-ca.crt) is in the current directory; if I rename it, I get an expected error message (…:fopen:No such file or directory:…). It is readable by the current user and is an ASCII file:

…18 lines of Base-64…

The code in question calls a library function in OpenSSL and it failed. The library function documentation just says, helpfully, that a return value of 0 from the mentioned function means:

The operation failed because CAfile and CApath are NULL or the processing at one of the locations specified failed. Check the error stack to find out the reason.

Running openvpn under strace confirms that mycorp-ca.crt is being read. So what is wrong?


Apparently there was a missing hyphen (-) at the beginning of the file. When I add that, OpenVPN starts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.