2023/02/10 openssl-3.0.8 でも同様の手順でビルドできることを確認しました。
OpenSSLのライブラリーを使用したいため、調べてみました。
1.「Shining Light Productions」のサイトからインストールする方法
http://slproweb.com/products/Win32OpenSSL.html
2.本家、「OpenSSL」のサイトから、ソースコードをダウンロードしてビルドする方法
https://www.openssl.org/
今回は、2.のソースコードをダウンロードしてビルドする方法について記載いたします。
ビルド方法
1.OpenSSLからソースコードをダウンロードする
下記URLを開くと、
https://www.openssl.org/source/
下記のような画面が表示されます。

最新のバージョンは3.0シリーズで、2026/09/07までサポートと記載されています。
1.1.1は、2023/09/11までサポートと記載されており、もう少しでサポート切れになります。
ということで、画面上の openssl-3.0.5.tar.gz のリンクをクリックし、ダウンロードします。
2.OpenSSLのソースコードを解凍する
解凍ツールはお好きなツールを使ってください。
私は「Git Bash」を開いて、下記のtarコマンドで解凍しました。
tar -zxvf openssl-3.0.5.tar.gz

3.ビルドの要件を確認する
解凍したファイルの中から、「NOTES-WINDOWS.md」ファイルを開きます。

いくつかビルドする方法はあるようですが、
今回は、Visual C++を使ったネイティブビルドで行いたいと思います。
なぜなら、Visual C++にて、OpenSSLのライブラリーを使用したいからです。
要件としては、
・Perl (Strawberry Perl が推奨とのこと)
・Microsoft Visual C compiler
・Netwide Assembler (NASM)
となっております。
4.要件に必要なものをダウンロードする
・「Strawberry Perl」をダウンロード
下記URLを開くと、
https://strawberryperl.com/
下記のような画面が表示されます。

64bit版と、32bit版がありますので、
自分の環境にあった方をクリックし、ダウンロードします。
私の環境は64bit版ですので、strawberry-perl-5.32.1.1-64bit.msi をダウンロードしました。
・「Microsoft Visual C compiler」をダウンロード
「NOTES-WINDOWS.md」ファイルにも、
可能な限り最新のバージョンを使用するように記載されていますので、
インストールされていない方は、2022をお勧めします。
https://visualstudio.microsoft.com/ja/vs/
上記からインストーラーをダウンロードします。
・「Netwide Assembler (NASM)」をダウンロード
下記URLを開くと、
https://www.nasm.us
下記のような画面が表示されます。

最新版のStableをクリックします。 (上図では、2.15.05 の部分)
下図のような画面が表示されましたら、
32bit版と、64bit版がありますので、
自分の環境にあった方をクリックします。

私の環境は64bitですので、下記のような画面が表示されました。
インストーラーをクリックし、ダウンロードします。
(下図では、nasm-2.15.05-installer-x64.exe の部分です。)

5.ダウンロードしたファイルをインストールする
・「Strawberry Perl」をインストール
特に迷うことがないと思いますので、省略します。
・「Visual Studio 2022」をインストール
私の環境では、Visual Studio 2022がインストールされておりますので、
詳細な説明は省略させていただきます。
インストーラーを実行すると
下記のような画面が表示される場面が出てくると思います。
そうしましたら、「C++によるデスクトップ開発」のチェックを入れれば
おそらく今回の目的に合ったものがインストールされると思います。

・「Netwide Assembler (NASM)」をインストール
システム全体で使用する場合には、「管理者として実行」で起動してください。
自分のみしか使用しない場合には、普通に起動してください。
普通に起動した場合には、下図のような画面が表示されますが、
[OK]ボタンを押して進めてください。

そのほかは、特に迷うことがないと思いますので、省略します。
6.環境変数 %PATH% にPerlとNASMのパスを追加する
[Windows]+[Pause]ボタンで、[システム > バージョン情報]が起動します。
[システムの詳細設定]をクリックし、[システムのプロパティ]ダイアログを起動します。

[環境変数...]ボタンを押して、[環境変数]ダイアログを起動します。

・「Strawberry Perl」のパス
インストーラーが[システム環境変数]の[Path]に追加してくれています。
(下図の選択されている行から3行分)

・「Netwide Assembler (NASM)」のパス
NASMをシステム全体で使用するようにインストールした場合
[システム環境変数]の[Path]を選択し、[編集...]ボタンを押します。

[新規(N)]ボタンを押し、NASMのパスを追加します。
C:\Program Files\NASM
[OK]ボタンを押していき、開いた画面を閉じます。
・「Netwide Assembler (NASM)」のパス
NASMを自分のみしか使用ようにインストールした場合
[自分のユーザー環境変数]の[Path]を選択し、[編集...]ボタンを押します。

[新規(N)]ボタンを押し、NASMのパスを追加します。
C:\Users\自分のユーザー名\AppData\Local\bin\NASM
[OK]ボタンを押していき、開いた画面を閉じます。
7.ビルドする
スタートメニューから、自分の環境にあった
Visual Studio Developer Command Promptを
「管理者として実行」で開きます。
64bitの場合は「x64 Native Tools Command Prompt for VS 2022」を、
32bitの場合は「x86 Native Tools Command Prompt for VS 2022」を選択します。

「x64 Native Tools Command Prompt for VS 2022」を選択した場合、
下図のような画面が表示されます。

解凍したOpenSSLのソースコードのルートフォルダーに移動します。
私の環境では、下記に移動しています。
cd C:\\Users\\murui_no_neko_zuki\\Downloads\\openssl-3.0.5

下記のコマンドで、ビルドの設定を行います。
64bitの場合、
perl Configure VC-WIN64A
32bitの場合、
perl Configure VC-WIN32

下記のコマンドで、ビルドを行います。
nmake

プロンプトが表示されるまで、しばらく待ちます。
下記のコマンドで、テストを行います。
nmake test

skipped されているものもあると思いますが、
現在のプラットフォームでサポートしていなかったりしますので、
最後に Result: PASS と表示されていれば問題ないかと思われます。
下記のコマンドで、インストールを行います。
nmake install

インストール先は、デフォルトで下記になります。
VC-WIN64Aの場合、
cd %ProgramW6432%\\OpenSSL
VC-WIN32の場合、
cd %ProgramFiles(x86)%\\OpenSSL

念のため、下記のコマンドを実行して確認します。
cd bin
openssh.exe --help

8.環境変数 %PATH% にOpenSSLのパスを追加する
[Windows]+[Pause]ボタンで、[システム > バージョン情報]が起動します。
[システムの詳細設定]をクリックし、[システムのプロパティ]ダイアログを起動します。

[環境変数...]ボタンを押して、[環境変数]ダイアログを起動します。

[システム環境変数]の[Path]を選択し、[編集...]ボタンを押します。

[新規(N)]ボタンを押し、Strawberry Perlのパスの上に、
OpenSSLのパスを追加します。
C:\Program Files\OpenSSL\bin
(Strawberry Perlにも、OpenSSLが含まれているので、それよりも上に追加必要)
以上になります。
コメント