openssl.cnfが存在しない場合、Windows版ApacheでCSRを作成できない!

 Windows版ApacheでCSRを作成できない場合がある。

これは、最近の事例だが、よく考えると、滅多に起きない事象……うーん、いや、もっと正確に言うと、今後二度と起きない特殊な事情のような気がする。

再現手順は以下となる。

(1)Windows版Apacheでコマンドプロンプトを起動し、opensslコマンドで秘密鍵(server.key)を作成する。

《以下は、2048ビットの秘密鍵をパスワードなしで作成するコマンド例》

C:\Program Files\Apache Software Foundation\Apache2.2\conf\ssl>openssl genrsa -out server.key 2048
Loading 'screen' into random state - done
Generating RSA private key, 2048 bit long modulus
........+++
......................+++
e is 65537 (0x10001)

※秘密鍵の作成には成功。

(2)opensslコマンドで、作成したばかりの秘密鍵(server.key)を使ってCSRを作成する。

C:\Program Files\Apache Software Foundation\Apache2.2\conf\ssl>openssl req -new -key server.key -out csr.txt

ここで以下のエラーメッセージが表示され、愕然とした。

Unable to load config info from C:\Program Files\Apache Software Foundation\Apache2.2\conf\openssl.cnf

「openssl.cnf」を呼び出せない、という意味のエラーメッセージなのだが、指定されたフォルダ(confフォルダ)の中にopenssl.cnfファイルが存在しなかった。

このようなトラブルは初めてである。

エラーの原因は、openssl.cnfファイルがconfフォルダ内に存在しないことにあることは明らかなので、あるべき場所(confフォルダ直下)にopenssl.cnfを設置すればエラーは解消しそうだ。

openssl.cnfファイルが勝手に消える、ということなど普通起きそうにないことだ。

誰かが、間違って削除してしまったのだろうか?

私が過去に操作ミスをして削除してしまったのだろうか?

少し考えてみたが、何故openssl.cnfファイルが消失していたのか、という原因は分かりそうになかった。

テストで使用しているApacheなので、Apacheのインストールやり直しなどをしている時に消失してしまった、ということはあるかもしれない。

さっさとCSRを作成したかったので、必要以上に考えることはやめることにする。

Apache LoungeよりApacheのファイル一式をダウンロードし、そのファイル一式に含まれていたopenssl.confファイルをconfフォルダ内に設置して再度opensslコマンドでCSRの作成を試みたところ、エラーが発生せず、無事にCSRを作成することができた。

C:\Program Files\Apache Software Foundation\Apache2.2\conf\ssl>openssl req -new -key server.key -out csr.txt
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:

(以下略)

 

<まとめ>

openssl req -new -key server.key -out csr.txt

を実行した時に

Unable to load config info from C:\Program Files\Apache Software Foundation\Apache2.2\conf\openssl.cnf

というエラーメッセージが表示される場合は、openssl.cnfファイルがconfフォルダ内に存在しない可能性がある。

この場合、Apache LoungeからApacheのファイル一式をダウンロードし、ダウンロードしたファイルの中に含まれるopenssl.cnfファイルをconfフォルダ内に設置することで問題が解決する可能性がある。

前へ

CentOS 6でwgetコマンドをパッケージインストールする方法

次へ

小倉⇔松山フェリー(松山・小倉フェリー株式会社)のホームページをやっと見つけた