必要なもの
①OpenSSL source
②ActivePerl
③nasm.exe
OpenSSLのsourceを入手
OpenSSLのサイト(http://www.openssl.org/)からソースコードをDownloadする
0.9.8 / 1.0.0 / 1.0.1系があるが、今回はとりあえず1.0.1をDL
>openssl-1.0.1l.tar.gz (2015/03/06 確認)
AcitivePerlをインストール
http://www.activestate.com/ から windows版インストーラーをDLし、
ActivePerlをインストール
(64bitWinは64bit版のみインストールでよい)
nasm.exeを入手
http://www.nasm.us/ から ZIPファイルを Download
> nasm-2.11-win32.zipWindows用インストーラーもあるが、バイナリファイルが必要なだけなので
インストーラーを使用する必要はない
展開後は環境変数でパスを指定しておく
2.OpenSSLのビルド
32bit/64bitビルドは別々に行う
①VC2005コマンドプロンプトを管理者権限で起動 (32bitビルドは32bitのコマンドプロンプト64bitは64bitのコマンドプロンプト
②opensslを展開したフォルダーへ移動する
> X:
> cd X:\openssl\openssl-1.0.1l
INSTALL.W32 / INSTALL.W64 にそれぞれビルド方法が記載されているので指示に従う
③環境指定
> perl Configure VC-WIN32 --prefix=X:\openssl\openssl-1.0.1l.vc2005\win32
④makeファイルの生成
> ms\do_nasm
⑤make実施
ダイナミックリンク用とスタティックリンク用でmakeファイルが異なる
nt.mak(スタティックリンク) ntdll.mak(ダイナミックリンク)
> nmake -f ms\ntdll.mak
> nmake -f ms\nt.mak
⑥テスト
> cd out32
> ..\ms\test
> cd ..\
⑦インストール
> nmake -f ms\nt.mak install
③で指定したフォルダーにOpenSSLパッケージがコピーされる
⑧一部Windows用のソースファイルが includeフォルダーにないので
必要に応じてコピーする
> cd ms
> cp applink.c "X:\openssl\openssl-1.0.1l.vc2005\win32\include\openssl\"
> cp tlhelp32.h "X:\openssl\openssl-1.0.1l.vc2005\win32\include\openssl\"
> cp uplink.h "X:\openssl\openssl-1.0.1l.vc2005\win32\include\openssl\"
> cp uplink.c "X:\openssl\openssl-1.0.1l.vc2005\win32\include\openssl\"
⑨.pdbファイルもコピー
> cd ..\tmp32
> cp lib.pdb "X:\openssl\openssl-1.0.1l.vc2005\win32\lib\"
⑩ビルド後には tmp32とout32を削除すれば次回リビルドできる
64bitのnt.makもtmp32/out32を使うので、32bitビルド後に64bitビルドする場合は削除必須
64bitビルドは③以降のコマンドを下記に変更して行う
> perl Configure VC-WIN64A --prefix=X:\openssl\openssl-1.0.1l.vc2005\win64
> ms\do_win64a
> nmake -f ms\nt.mak
> cd out32
> ..\ms\test
> cd ..\
> nmake -f ms\nt.mak install
OpenSSL脆弱性発表があったので、ビルドし直し。
返信削除この機会に不親切だった記述を追記修正。