Я установил OpenSSL 1.0.1f и создал движок для ускорения RSA с использованием графического процессора. Двигатель является динамичным, поэтому он известен во всем мире.
Затем я установил Apache $ sudo apt-get install apache2
, создал самозаверяющие сертификаты для предоставления услуг HTTPS, изменил файлы конфигурации и т. Д.
Эти две части работают правильно, но по отдельности, т.е. когда я пытаюсь указать Apache для использования механизма RSA (в OpenSSL 1.0.1f), он просто терпит неудачу с сообщением:
* The apache2 configtest failed. Not doing anything.
Output of config test was:
AH00526: Syntax error on line 3 of /etc/apache2/sites-enabled/default-ssl.conf:
SSLCryptoDevice: Invalid argument; must be one of: 'builtin' (none), 'rsax' (RSAX engine support), 'dynamic' (Dynamic engine loading support)
Итак, мои вопросы:
Использует ли Apache в 64-разрядной версии Ubuntu 14.04 другую версию OpenSSL, а не версию, установленную мной?
И как я могу связать Apache с OpenSSL, чтобы использовать этот движок?
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jan 14 2016 17:45:23
И динамические механизмы:
root@dani-pc:/etc/apache2# openssl engine
(rsax) RSAX engine support
(dynamic) Dynamic engine loading support
(rsagpu) RSA GPU engine support
Итак, я добавил SSLCryptoDevice rsagpu
в /etc/apache2/sites-available/default-ssl.conf
файл, и он не работает, но SSLCryptoDevice rsax
отлично работает.
Шаги, которые, наконец, сработали для меня:
1. Установите OpenSSL из исходных кодов, указав -DOPENSSL_LOAD_CONF
при запуске ./ config
1.1.Create / создайте свой механизм OpenSSL и добавьте его в свой openssl.cnf
файл
2. Установите httpd из источников, используя следующие команды:
CFLAGS='-DSSL_EXPERIMENTAL_ENGINE -DSSL_ENGINE -DOPENSSL_LOAD_CONF' ./configure --enable-ssl --with-ssl=/usr/local/ssl --with-pcre=/usr/local/pcre --enable-so
make
make install
2.1.Измените httpd-ssl.conf
, добавив SSLCryptoDevice engine_id
, и убедитесь, что при выполнении $ openssl engine
, спецификатор engine_id
появится в списке. Кроме того, вам необходимо создать самозаверяющий сертификат и закрытый ключ, изменить файл httpd.conf
, но это не является предметом данного вопроса. Поиск: как настроить HTTPS на Apache.
3. $ httpd -k restart
и все.