2009年04月10日(金)
Leopard Serverのサーバ証明書のインストールに手こずってしまった [Mac鯖管理]
Mac OS X Server 10.5(Leopard Server)上でホスティングしている某WebサイトのSSLサーバ証明書の有効期限が近づいてきたので,いつものように秘密鍵ファイルの生成→CSR(証明書署名要求)の生成→証明書発行申請→発行審査→証明書のダウンロード→サーバへの証明書のインストールといった手順で進めていたのだけど,最後のサイトへの更新用証明書ファイルの組み込み時に,何度やってもインストールに失敗するのですねー。うっかり,キーファイル生成時にパスフレーズを打ち間違えてしまい,私が記憶しているものと異なる文字列でCSRを生成したのかと一瞬冷や汗が出たものの,どうやらそういうわけでもないらしく,OS X Server付属の“サーバ管理”(Server Admin.app)の証明書一覧画面で何度も「証明書を読み込む…」を繰り返していると,今度は現在アクティブな(=更新前の)サーバ証明書まで消えてしまい,Webサービス(Apache)自体が立ち上がらなくなってしまったのです。さすがにコレには焦ってしまいましたよ〜。仕方ないので,手動で /etc/apache2/ssl.crt に証明書と中間CA局証明書を,/etc/apache2/ssl.key に秘密鍵をコピーしてごにょごにょしてもダメ,Leopard Serverでは /etc/certificates 以下に“サーバ管理”からインストールした証明書が置かれるようなのでコチラも直接書き換えてみるもNG。そんなこんなで途方に暮れていたところ,ふと「証明書の上書きがうまく行かないのなら,コンソール上のKeychainに問題があるのかも」と思いつき,キーチェーンアクセス(Keychain Access.app)を開いてみたところ,ビンゴ〜。インストールに失敗していた証明書が中途半端な形で記憶されているではないかー。当該ホスト名の書かれた“証明書”並びに“秘密鍵”を削除して,再度“サーバ管理”の「証明書を読み込む…」から新しい証明書を読み込ませてみたところ,今度は正しく取り込まれ,Apacheも無事立ち上がるようになりました,とさ(苦笑)。単なるサーバ証明書の更新なのに,私が作業すると毎回何かしらトラブってしまいますね…。もっとも,Mac OS X Serverというマイナーな運用環境もあって,やってみないと分からない部分も多いのだけどサ。
追記
秘密鍵作成時に,Leopard Server上でopenssl genrsaを実行する場合,root権限(su)で実行するか,sudo を付けてやらないとうまく生成されないっぽい。
例
$ sudo openssl genrsa -des3 -rand hoge1:hoge2:hoge3 1024 > server.key
10.4以前のOS X Serverでは,root権限がなくても生成できたのだけどね>秘密鍵。ちなみにCSRの方は,suでなくても作成できるようです。
例
$ openssl req -new -key server.key -out server.csr -sha1
Posted by 神海 螢 / コウミ ケイ at 2009年04月10日(金) 23時05分 コメント ( 0 )