Webサイトの自己署名証明書を作成したい。古い証明書は数日前に期限切れになりました。システムでホストされているNameVirtualHostsは複数あります。証明書の作成に使用しているコマンドは、1つのチュートリアルWebサイトから取得したもので、次のとおりです。
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
この後、ssl.confファイルで、他の管理者が行った古い設定とともにVirtualHostセクションで指定しました
SSLEngine on
SSLCertificateFile <full_path>/server.crt
SSLCertificateKeyFile <full_path>/server.key
サーバーを起動すると、ログファイルに次のメッセージが表示され、サーバーを起動できません。
Error_logファイルでは、メッセージは
[Mon Jun 01 23:52:46 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
Ssl_error_logファイルでは、メッセージは
[Mon Jun 01 23:52:46 2009] [error] Init: Private key not found
[Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib
これを解決する方法を説明できる方がいらっしゃれば幸いです。自己署名SSL証明書に関する他のチュートリアルWebサイトをいくつか試しましたが、それらに記載されている手順はどれも機能していません。
この1つのライナーを使用して、1つのファイルに証明書とキーを生成します
openssl req -new -x509 -days 999 -nodes -out Apache.pem -keyout Apache.pem
次に、必要な構成は
SSLEngine on
SSLCertificateFile /etc/Apache2/Apache.pem
これは少し些細なことのように思えるかもしれませんが、.keyファイルのアクセス許可を確認してください
openssl req -newkey rsa:1024 -keyout privkey.pem
を使用して、SSLキーの生成が正しくない場合に備えて、SSLキーの生成時に保存することができます。