OpenSSL Ver.1.1.1は既にサポートが終了しています。サポート中のOpenSSL Ver.3については、Tech TIPS「【Windows 10/11】WindowsにOpenSSL Ver.3をインストールして証明書を取り扱う」を参照してください。
ここまでの手順だけでは、openssl.exeの実行時に「unable to get local issuer certificate」といったエラーが生じることがある。以下は、SSL/TLSのサーバにアクセスして証明書を検証・取得するコマンド「s_client」の実行例だ。
これは、ローカル上でルート認証局(Root Certificate Authority、ルートCA)の証明書が見つからない、ということを示している。
OpenSSLに限らず、証明書が正しいものかどうかを検証する過程では、ルート認証局(Root Certificate Authority、ルートCA)の証明書が必要になる。これは一般的に、検証中に(リモートのサイトではなく)ローカルPC上で参照できる必要がある。
Windows OSでもルートCAの証明書はローカルPCに保存されている。証明書管理ツール「certmgr.msc」「certlm.msc」で表示できる「証明書ストア」の[信頼されたルート証明機関]−[証明書]などに格納されているのが、ルートCAの証明書だ。
しかしOpenSSLはこのWindows OS標準の証明書ストアを参照せず、かつ配布されているOpenSSLのインストーラーにもルートCAの証明書は含まれていない。そのため、別途ルートCA証明書を用意する必要がある。
例えば、指定したURLのサイトからデータをダウンロードするコマンドラインツール「curl」の配布元サイトでは、「cacert.pem」という名前でルートCA証明書ファイルを提供している。
Copyright© Digital Advantage Corp. All Rights Reserved.