SSLバナー

あるWebアプリケーションサーバーのソフトウェアでHTTPSを有効にしようとし、SSLをenabledにし、OpenSSL(こちらからWindows版のダウンロードサイトから取得したもの)で作成した自己署名のCERTファイルとプライベート鍵ファイルのパスを指定し、さぁ起動させようとすると、失敗してしまいました。

ログを見ると、ここの部分が原因のようなのですが…

std::exception::what: The input data corresponds to a key of size 4096 instead of the expected size 2048 

00000014 2021-03-23 13:52:25 0x00001cc8 agent::httpserver E Error creating context for self-signed SSL certificate Code language: Access log (accesslog)

どうやら、「The input data corresponds to a key of size 4096 instead of the expected size 2048」というのがルート原因のようです。

どうやら、Webアプリケーションサーバーによっては、RSAの公開鍵の鍵長が2048bitしか対応していないものもあるようです。 今回の場合、OpenSSLで特に鍵長を指定しないで作成した秘密鍵が4096bitのもので、それだと対応していなかったのです。

さてそれでは2048bitの鍵長で鍵ファイルを作成し直します。OpenSSLの場合、2048bitのオプションを指定するには、「rsa:2048」を付けます。さらにその前に「-newkey」を付け足すことで実現できます。

下記の太字の部分がオプションを追加したものです。

openssl req -nodes -new -x509 -keyout server.key -out server.cert <strong>-newkey rsa:2048 </strong>Code language: DOS .bat (dos)

この2048bitsの鍵に差し替えることでWebアプリケーションサーバーの起動ができました。鍵長がこんなにも重要になってくるなんて初めてのことだったので忘れないうちに記事にまとめておきました。

Categories:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です