電子証明書やSSL/TLSのための標準的なツールキット「OpenSSL」。だがWindows OSには標準でインストールされていない。Windows OSでOpenSSLを利用するのに必要なインストール手順と注意点を解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
OpenSSL Ver.1.1.1は既にサポートが終了しています。サポート中のOpenSSL Ver.3については、Tech TIPS「【Windows 10/11】WindowsにOpenSSL Ver.3をインストールして証明書を取り扱う」を参照してください。
対象:OpenSSL Ver.1.1.1、Windows 10/Windows 11
SSL/TLS対応のWebサイトを構築したり、セキュアな通信路を必要とするアプリケーションをセットアップしたりする場合、「電子証明書」(以下、単に「証明書」)を取り扱う機会がよくある。
対象プラットフォーム/アプリケーションがUNIX/Linux系の場合、証明書に関する作業手順の多くは「OpenSSL」を用いた方法で説明されている。OpenSSLとはSSL/TLSのツールキットおよび暗号化ライブラリのデファクトスタンダードで、UNIX/Linux系で多用されている。
Windows OSにも証明書を取り扱うためのコマンドや役割・機能は備わっている。だが、OpenSSLとは使い方が全く異なるため、例えばOpenSSL向けの作業手順書しかない状況では役に立たない。
そのような場合、Windows OS用のOpenSSLをセットアップし、Windows OSでもOpenSSLを使えるようにすればよい。本稿では、Windows OS上でopenssl.exeを実行して証明書を操作できるようにするという前提で、そのインストール手順や注意点を説明する。
OpenSSL公式サイトでは、OpenSSLのソースファイルのみが配布されている。そこからWindows OS用にコンパイルするのは(開発者でない限り)ハードルが高い。そこで、次のWebサイトでインストーラーが配布されているので、これを利用するのがよい。
このページの「Download Win32/Win64 OpenSSL」というセクションにある表で、以下のいずれかのリンクをクリックすると、コンパイル済みのWindows OS用OpenSSLバイナリのインストーラーをダウンロードできる。
各インストーラーのリンクおよびその付近のテキストには、次のような意味がある。
これらについて、アプリケーションやミドルウェアなどから特定されているなら、それに従うだけだ。特に指定がない場合は、以下の説明から望ましいものを選択するとよい。
これはインストール先のWindows OSに合わせればよいだろう。特に32bit版Windows OSでは「Win32」の方しか実行できない。また、Windows ServerなどでWOW64をインストールしていない環境では、「Win64」しか実行できない。
本稿の執筆時点ではVer. 3.0系列とVer. 1.1.1系列それぞれのインストーラーが用意されている。前者は2021年にメジャーバージョンアップした最新版で、まだ採用しているプラットフォームは多くないようだ。そのため、本稿では後者のVer. 1.1.1系列を対象とする。Ver. 3.0については別稿で解説したい。
これは原則として「Light」付き、すなわち軽量版を選ぶとよい。(openssl.exeではなく)OpenSSLのライブラリを使ってアプリやサービスを開発する場合は、「Light」の付かない方が必要になる。
通常は「EXE」の方で用は足りるだろう。ただし、Active Directoryのしくみで複数のPCに自動配布したければ、「MSI」の方を選ぶ必要がある。
本稿で取り上げている「Win32/Win64 OpenSSL」を利用するには、事前にMicrosoft提供の「Visual C++ 2017再配布パッケージ」をインストールしておく必要がある(インストールしないとエラーが発生してOpenSSLコマンドを正常に実行できない)。
このパッケージは以下のMicrosoftのページからダウンロードできる。
このページの「Visual Studio 2015、2017、2019、および 2022」という見出しの下にあるリンクのうち、32bit版Windows OSなら「X86」、64bit版Windows OSなら「X64」の方をそれぞれクリックする。
「VC_redist.*.exe」というインストーラーがダウンロードできたら起動して、以下のようにインストールする。
Visual C++再配布パッケージをインストールしたら、ダウンロードしておいたWindows OS用OpenSSLのインストーラーを起動する。
Win32/Win64 OpenSSLのインストーラーにはデジタル署名がなされていないため、警告メッセージが表示されるが、[はい]ボタンをクリックすればよい。
次へ進んだところで「セキュリティの警告」というメッセージが表示されたら、[実行]ボタンをクリックして次へ進む。
以下のライセンス許諾の画面が表示されたら、許諾内容を読んで確認した後、[I accept the agreement]を選んで次へ進む。
以下の画面では、インストール先のフォルダを変更できる。
以下の画面では、DLLファイルの保存場所として[The Windows system directory]がデフォルトで選択されている。だが、サードパーティー製ソフトウェアのDLLをみだりにWindows OSのシステムフォルダに格納することは推奨されていない。そこで[The OpenSSL binaries (/bin) directory]を選ぶ。
あとはデフォルトの設定のまま[Next]ボタンをクリックしていくとインストールが始まる。
最後の画面で寄付を後回しにする場合、全てのチェックを外してオフにしてから[Finish]ボタンをクリックする。
以上でOpenSSLのインストールは完了だ。
上記の手順でOpenSSLをインストールしただけだと、実行時にいちいちopenssl.exeやDLLの在りかをフルパスで指定しなければならない。これは面倒なので、以下の手順で実行パスの設定を変更する。
まずは[システムのプロパティ]の[詳細設定]タブを開く。それには[Windows]+[R]キーを押して「ファイルを指定して実行」ダイアログを開き、次のコマンドを入力して[Enter]キーを押す。
SystemPropertiesAdvanced
[システムのプロパティ]を開く方法については、TIPS「コントロールパネルの[システム](相当)や[システムのプロパティ]を素早く開く方法」が参考になるだろう。
次に、[詳細設定]タブにある[環境変数]ボタンをクリックする。
「環境変数」ダイアログが表示されたら、「ユーザー環境変数」欄の[Path]をダブルクリックする。全ユーザーがOpenSSLを利用する場合は、「システム環境変数」欄の方の[Path]を編集すること。
「環境変数名の編集」ダイアログが表示されたら、まず[新規]ボタン、次に[参照]ボタンとクリックして[フォルダーの参照]ダイアログを開き、OpenSSLをインストールしたフォルダにある「bin」サブフォルダを指定する。
Pathの最後に「<OpenSSLインストール先フォルダ>\bin」が追加されたことを確認してから、[OK]ボタンをクリックしていって各ダイアログを閉じる。
Path環境変数の設定の詳細については、TIPS「Path環境変数を設定/編集して、独自のコマンドを実行可能にする」を参照していただきたい。
上記の作業が完了したら、コマンドプロンプトを起動し直してから、次のようにopenssl.exeを実行してみよう。このとき、カレントフォルダはインストール先のbinフォルダ以外にすること。
openssl version
パスが正しく設定されていれば、OpenSSLのバージョンが表示されるはずだ。
Copyright© Digital Advantage Corp. All Rights Reserved.