自宅で使用しているVMWare ESXi 5.1のアドレスにWebブラウザでアクセスすると、あたかも乗っ取られたサイトであるかのように表示されるので、以前購入したワイルドカードSSLサーバーキーなファイルに入れ替えてみました。
[2013/05/04 追記]
追加した鍵はnamecheapで購入したCOMODOのWildcardSSLなのですが、rootCAの証明書が入っていませんでした。
そのためFirefox (release 20.0.1)ではhttpsでESXiサーバにアクセスした時に警告画面が表示されてしまいます。
ESXiにsshでログインして、以下の手順(;は改行で読み替え)でrui.rootca.crtという名前のファイルにAddTrust External CA Rootの証明書を作成しています。
$ cd /etc/vmware/ssl; $ vi rui.rootca.crt
rui.crtファイルに複数の証明書を保存する事はできません。
ESXiサーバ上にはc_rehashコマンドがないので手動でopensslが証明書を探せるように、ハッシュ名のファイルにシンボリックリンクを張ります。
ln -s rui.rootca.crt $(openssl x509 -noout -hash -in rui.rootca.crt)
ちなみにcrtファイルはPEM形式なので、openssl x509 -in rui.rootca.crt -noout -textのようなコマンドで中身をチェックする事ができます。
rhttpproxyをリスタートして確認してください。
基本的な操作手順はVMWare公式サイトのthe configuration of Certificate Authority (CA) certificates for a ESXi 5.x host.にあります
手順はsshを有効にするところからあるので長いのですが、実際のステップは次のようなところだけです。
- Log in to the host and then navigate to /etc/vmware/ssl.
- Copy the files to a backup location, such as a VMFS volume.
- Log in to the host with WinSCP and navigate to the /etc/vmware/ssl directory.
- Delete the existing rui.crt and rui.key from the directory.
- Copy the newly created rui.crt and rui.key to the directory using Text Mode or ASCII mode to avoid the issue of special characters ( ^M) appearing in the certificate file.
- Type less rui.crt to validate that there are no extra characters.
- Switch back to the DCUI of the host and select Troubleshooting Options > Restart Management Agents.
コマンドベースで書くと次のようになるんでしょうか
- ESXiホストにsshでログイン
- # cd /etc/vmware/ssl/
- rui.crtとrui.keyを、入手した証明書とパスワードなし鍵ファイルに置き換える
- scpやWinSCPを使う事もできるが、証明書はテキストファイルになっている。sshログインしているのであれば、catなどとCopy&Pasteの方がいいかもしれない
- 例: # cat > rui.crt、コピーした後でControl+c(C-c)
- # cat > rui.key、同様にコピーした後でC-c
- # /etc/init.d/rhttpproxy restart
自前CA局が悪いかどうかは状況によるのですが、サイトのポリシーなどでWebサイトに導入するSSL証明書は正規に購入すること、などとなっている場合には必要な作業かと思います。
ただお金を出せば証明してあげる、という構造は理解しやすいのですが、一歩引いてみると、CA局はお金を集めるインセンティブを上から下まで持っているので、ルールが曲げられちゃう可能性もありそうで、それでちゃんとtrust-chainが構成できるのか、少し不安に感じる部分がないでもありません。
最上位CA局は技術・倫理ポリシーを持った非営利的機関にして、それは複数あっていいのだけれど、一般に販売されるブラウザにデフォルトで加えるCA局のスタンダードとかも必要な気がします。