OpenSSLをWindows環境でビルドする
概要
Windows PCでOpenSSLをビルドします。
ビルドするのが面倒な場合は,Windows版のインストーラを使ってインストールすることができます。こちらを参照してください。
今回は2020年2月20日時点での最新版のOpenSSL 1.1.1dを利用しました。ほかのバージョンでも基本的にやることは同じです。
前提として必要なもの
Windows環境でビルドをするのでコンパイラーであるVisual Studioなどが必要です。
- Visual Studio
Visual Studio Community 2019 Version 16.4.5で試しました。 - OpenSSL
1.1.1d (2020年2月20日時点の最新版)で試しました。 - Perl
Strawberry Perlの場合,こちらからダウンロードしてインストールします。今回は5.30.1.1で試しました。
Active Perlの場合,こちらからダウンロードしてインストールします。 - NASM
NASMはOpenSSLをビルドするのに必要です。2.14.02で試しました。
PerlやNASMはインストール後にパスを通しておく必要があります。
ビルド手順
以下の手順でビルドしていきます。環境が整っていれば簡単です。OpenSSLのダウンロード
OpenSSLのサイトからソースをダウンロードしてきます。 https://www.openssl.org/source/
ダウンロードしてきたソースは,「openssl-1.1.1d.tar.gz」のファイル名で圧縮されていますので,7zipなどを使って解凍します。
解凍したファイルをOpenSSLをインストールするフォルダにコピーします。
今回はC:\OpenSSLフォルダを作成して,その下に解凍したopenssl-1.1.1dフォルダをそのままコピーしました。
OpenSSLのビルド
以下の手順でビルドしていきます。
x64 Native Tools Command Prompt for VS 2019を管理者で起動します。
perl Configure VC-WIN64A -static --prefix=C:/openssl/win/x64
perl Configure VC-WIN64A --prefix=C:\openssl\x64 --openssldir=C:\OpenSSL\openssl-1.1.1d\ssl
つぎにmakeコマンドを実行します。
nmake
makeコマンドは結構時間がかかります。のんびり待ちましょう。
makeが終わったらmakeが成功したか確認してみます。
nmake test
Passと出ているので,makeは成功しているようです。
OpenSSLのインストール
次に,OpenSSLをインストールします。
nmake install
インストール結果の確認
インストールが完了したら,OpenSSLが正しく動作するか確認します。
バージョンを確認するのですが,OpenSSLのbinフォルダにパスが通っていないと,正しく動作しません。パスの設定方法については,こちらを参考にしてください。
openssl version
"OpenSSL 1.1.1d 10 Sep 2019"と出ていれば成功です。
あれれ?OpenSSL 1.1.1cとなっています。
どうやらこれは,必要なソフトウェアのStrawberry PerlがOpenSSLを持っていて,それと競合しているためです。
OpenSSLがどこに存在しているのかを確認してみます。
where openssl
OpenSSLがどこに存在するのか確認します。
パスの順番をStrawberry PerlのOpenSSLの上に持ってきます。
環境変数を開くと,Strawberry Perlのパスが書かれているので,先ほど追加したOpenSSLのパスをその上に持っていきます。
こんな感じで。
where openssl
OpenSSLがどこに存在するのか確認します。
openssl version
"OpenSSL 1.1.1d 10 Sep 2019"と出ました。