OpenSSL RSA エンジン (つまり.so
ファイル) と、SSL モードで構成された Apache サーバーが動作しています。
Apache で RSA エンジンからの RSA 実装を使用するにはどうすればよいですか? つまり、エンジン (.so
ファイル)をどこに置くか、openssl.cnf
ファイルを変更する方法、および Apache をビルドする方法を教えてください。
2 に答える
まず、私はあなたの質問を完全には理解していません。Apache が使用しているシステムに OpenSSL のバージョンがインストールされていて、ダウンロードしてインストールした別のバージョン (おそらく新しいバージョン) を使用したいということですか?
どのプラットフォーム (Windows または Linux)、どのように Apache をインストールしたか (システムに事前にインストールされているか、yum や apt-get などのパッケージ マネージャーを使用してインストールされているか、ソースから手動でインストールされているか) によって異なります。
Windows のインストールやパッケージ マネージャーに含まれる事前構築済みのパッケージは、システムの既定の SSL ライブラリを使用する傾向があり、変更するのが最も簡単ではありません (正直なところ、それらすべてに精通しているわけではありません)。
したがって、これを行う最も簡単な方法は、ビルド済みのパッケージからではなく、ソース コードから Apache をインストールすることです。
通常は、コンパイル時にソースをダウンロードした後、make を使用してコードをビルドする前に --with-ssl オプションを使用して設定する必要があります。
./configure --with-ssl=/usr/local/ssl --enable-ssl --enable-so
以前にソースからインストールしたことがない場合、これは少し怖いかもしれません。Linux のソースから最新の OpenSSL と Apache をダウンロードしてインストールする方法について、こちらの HTTP2 に関するブログ投稿で詳細な手順を説明しました。あなたの特定のプラットフォーム。
私のために働いた手順:
-DOPENSSL_LOAD_CONF
1.実行時に指定して、ソースから OpenSSL をインストール./config
します。 1.1.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
ファイルを変更する必要がありますが、これはこの質問の主題ではありません。検索: Apache で HTTPS を構成する方法。
3.$ httpd -k restart
以上です。
編集
ファイル (Openssl ENGINE)
の場所を.so
で指定する必要がありますopenssl.cnf
。