[devel] Вопросы новичка

Victor B. Wagner vitus на altlinux.org
Чт Май 7 14:01:06 MSD 2009


On 2009.05.07 at 13:24:42 +0400, Afanasov Dmitry wrote:
> > приложений которые я уже тестировал на работу с российской криптографией
> > и точно знаю что нужно, чтобы оно работало.
> понял. как будет готово, проверю на своих proftpd и pure-ftpd.

Вот в эти я пока не лазил. Как правило, в большинстве случаев для
поддержки приложением подгружаемых модулей с алгоритмами/реализациями
необходимо и достаточно добавить перед вызовом SSL_library_init
вызов OPENSSL_config(NULL).
Эта функция считывает конфигурационный файл openssl.cnf и инициализирует
описанные в нем подгружаемые модули.


В man на эту функцию написано:

       It is strongly recommended that all new applications call OPENSSL_con-
       fig() or the more sophisticated functions such as CONF_modules_load()
       during initialization (that is before starting any threads). By doing
       this an application does not need to keep track of all configuration
       options and some new functionality can be supported automatically.


Это так со времен OpenSSL 0.9.7.

К сожалению, авторы приложений, в которые поддержка OpenSSL была добавлена
во времена более ранних версий, при переходе на версию 0.9.7 и выше этот man, 
видимо, не читали. 

В свое время мне удалось пропихнуть это только в PostgreSQL.
Вот он, начиная с 8.3 это делает. Правда, с выходом 8.4 и OpenSSL 1.0 наверное, опять придется его патчить на предмет поддержки сертификатов на всяких железных токенах (в клиентской библиотеке). Потому что до 1.0 в OpenSSL не было API
для добывания клиентского сертификата через engine. А в PostgreSQL до 8.4
не было авторизации пользователей по клиентским сертификатам.




Подробная информация о списке рассылки Devel