Я пытаюсь использовать OpenVPN 2.2.1 в Linux (Ubuntu 12.04) для подключения к VPN-серверу, поддерживаемому коллегой. Он успешно использует TunnelBlick (на Mac). Я пытаюсь использовать его конфигурацию клиента дословно, единственными изменениями являются различные файлы для локального узла. Но я получаю бесполезное сообщение об ошибке (редактирование частных битов):
$ 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
Рассматриваемый файл (mycorp-ca.crt
) находится в текущем каталоге; если я переименую его, я получу ожидаемое сообщение об ошибке (…:fopen:No such file or directory:…
). Это доступно для чтения текущему пользователю и является файлом ASCII:
----BEGIN CERTIFICATE-----
…18 lines of Base-64…
-----END CERTIFICATE-----
Рассматриваемый код вызывает библиотечную функцию в OpenSSL, и это не удалось. Документация библиотечной функции просто говорит, что возвращаемое значение 0 из упомянутой функции означает:
Операция не выполнена, так как CAfile и CApath имеют значение NULL или обработка в одном из указанных местоположений завершилась неудачно. Проверьте стек ошибок, чтобы выяснить причину.
Запуск openvpn
под strace
подтверждает, что mycorp-ca.crt
читается. Так что не так?