(2014-08-31 15:23:17 отредактировано Dae)

OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Настраиваю доступ к OpenVPN серверу с авторизацией по Рутокену. На клиенте стоит OS X 10.9 "Mavericks" с Viscosity, являющимся GUI-евой оберткой для клиентского режима OpenVPN.

При обращении OpenVPN 2.3 (внутри Viscosity) к рутокеновскому PKCS#11 провайдеру (librtpkcs11ecp.dylib), OpenVPN сразу же вылетает.

Кусок из crash log:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libdispatch.dylib                 0x00007fff95c9366a _dispatch_barrier_async_f_slow + 59
1   com.apple.CoreFoundation          0x00007fff901d33f9 __CFRunLoopFindMode + 761
2   com.apple.CoreFoundation          0x00007fff901d301b __CFRunLoopCreate + 491
3   com.apple.CoreFoundation          0x00007fff901d2bed _CFRunLoopGet0 + 269
4   librtpkcs11ecp.dylib              0x000000010217c895 0x102109000 + 473237
5   librtpkcs11ecp.dylib              0x000000010217856a 0x102109000 + 456042
6   librtpkcs11ecp.dylib              0x00000001021798b9 0x102109000 + 460985
7   librtpkcs11ecp.dylib              0x000000010213a9b5 0x102109000 + 203189
8   librtpkcs11ecp.dylib              0x0000000102114013 0x102109000 + 45075
9   librtpkcs11ecp.dylib              0x0000000102156e78 C_Initialize + 168

(Полный crash log).

Разработчик Viscosity считает, что проблема требует решения с вашей стороны.

Что нужно, чтобы быстро воспроизвести вышеупомянутый вылет:

  1. Установите Viscosity на OS X.

  2. Создайте новое подключение.

  3. В настройках подключения укажите:

    • Authentication type: SSL/TLS Client (PKCS11)

    • Providers: "/usr/lib/pkcs11/librtpkcs11ecp.dylib"

    • Retrieval: Use certificate name below

  4. Нажмите кнопку Detect рядом с полем Name. После этого Viscosity отрапортует "No PKCS11 names detected". В Console.app (или system.log) найдите информацию о вылете.

Проблему можно воспроизвести и без Viscosity, на "голом" OpenVPN, просто мне удобнее работать с GUI.

Временный workaround: использовать старую версию OpenVPN 2.2, которая не вылетает при работе с провайдером.

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Добрый день, попробуйте пожалуйста с новой библиотекой версии 1.1.5.0 https://www.rutoken.ru/support/download/pkcs/

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

К сожалению, новая версия не решила проблему, однако проблема стала проявляться несколько иначе. Теперь при нажатии кнопки Detect в Viscosity отображается список загруженных на токен сертификатов (как и положено), а вылет происходит непосредственно при подключении к OpenVPN.

Новый crash log.

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Не могли бы Вы попробовать Tunnelblick (Stable Release или Beta Release не важно)?

Проблему можно воспроизвести и без Viscosity, на "голом" OpenVPN,

А на версии 1.1.5.0 просто OpenVPN тоже падает?

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Мое предположение о том, что проблему получится воспроизвести на голом OpenVPN, не подтвердилось. Сорри что ввел в заблуждение: на голом OpenVPN, в итоге, работает.

Однако я смог воспроизвести вылет в Tunnelblick 3.4beta36 (build 3945) с настройкой OpenVPN version: Latest 2.3.4.

Crash log из Tunnelblick.

(2014-09-17 14:50:29 отредактировано _S)

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Dae пишет:

Мое предположение о том, что проблему получится воспроизвести на голом OpenVPN, не подтвердилось. Сорри что ввел в заблуждение: на голом OpenVPN, в итоге, работает.

Всё в порядке, я проверял, что просто OpenVPN работает. Проблема была понятна.

Dae пишет:

Однако я смог воспроизвести вылет в Tunnelblick 3.4beta36 (build 3945) с настройкой OpenVPN version: Latest 2.3.4.
Crash log из Tunnelblick.

Спасибо за эксперименты и лог. Скажите пожалуйста, падает только Tunnelblick 3.4beta36 ? Tunnelblick 3.3.4 работает? (его можно использовать несмотря на: "DO NOT use on OS X 10.9 or 10.10 ("Mavericks" or "Yosemite")")

(2014-09-18 00:04:08 отредактировано Dae)

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Tunnelblick 3.3.4 падает тоже.

Crash log из Tunnelblick 3.3.4 (build 3518.3872)

(2014-09-18 11:23:05 отредактировано _S)

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Dae пишет:

Tunnelblick 3.3.4 падает тоже.

Спасибо!

Всё эти падения происходят с PKCS#11 библиотекой версии 1.1.5.0?
md5sum librtpkcs11ecp.dylib

e0fefa949a59a2beb1c1cb82d872a6c2  librtpkcs11ecp.dylib

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Я начал проверять и запутался.

Dae-MBP:~ Dae$ md5 "/usr/lib/pkcs11/librtpkcs11ecp.dylib"
MD5 (/usr/lib/pkcs11/librtpkcs11ecp.dylib) = 4c6a40696114b5f50ad998ca7c5574b4

То есть сумма другая. Я скачал заново и установил установщик библиотеки, но сумма не поменялась.

Потом поставил файл по вашей ссылке, который идет без установщика:

Dae-MBP:~ Dae$ md5 "/usr/lib/pkcs11/librtpkcs11ecp.dylib"
MD5 (/usr/lib/pkcs11/librtpkcs11ecp.dylib) = e0fefa949a59a2beb1c1cb82d872a6c2

Т.е. версия файла librtpkcs11ecp.dylib, поставляемая без установщика, отличается (по крайней мере по хэш-сумме) от версии, поставляемой внутри установщика. Я это еще раз перепроверил, распаковав .pkg с помощью The Archive Browser.

Получается, я все это время пользовался версией, поставляемой с установщиком. На сайте она числится как:

Версия: v.1.1.5.0 от 20.08.2014

Только что проверил с версией по вашей ссылке, которая e0fefa949a59a2beb1c1cb82d872a6c2, Viscosity, Tunnelblick (beta) аналогично вылетают.

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Dae пишет:

Т.е. версия файла librtpkcs11ecp.dylib, поставляемая без установщика, отличается (по крайней мере по хэш-сумме) от версии, поставляемой внутри установщика.

Спасибо за то, что обратили внимание. Это ошибка, на сайте в установщике оказалась не та версия.

Dae пишет:

Только что проверил с версией по вашей ссылке, которая e0fefa949a59a2beb1c1cb82d872a6c2, Viscosity, Tunnelblick (beta) аналогично вылетают.

Спасибо за проверки!
В качестве временного решения предлагаю использовать консольный OpenVPN.

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Нет подвижек никаких?
А то воз, похоже, все еще там...

Re: OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером

Добрый день.

Используете ли вы последнюю версию библиотеки с сайта?  https://www.rutoken.ru/support/download/pkcs/ ?

Мы пробовали запускать на viscosity, оно работает.
Попробуйте также включить опцию "Allow insafe OpenVPN commands to be used" в viscosity.