もぐうさノート

惰性で生きてます。

VMware View Connection Server 5.1.xのSSL証明書インストール

大苦戦した。


■事前準備
作業はほぼすべてkeytoolというコマンドを使う為、環境変数PATHに以下パスを追加しておく
C:\Program Files\VMware\VMware View\Server\tools\bin

■キーストアファイル作成
keytool -genkeypair -keyalg "RSA" -keysize 2048 -keystore <キーストアファイル名>.jks -storepass <パスワード>
その後CN等の必要事項を入力

#途中まで5.0のマニュアルを読んで作業していた為、ファイル拡張子をJKSにしたが、
#もしかしたら他の形式でも大丈夫かもしれない。要確認


CSR作成
keytool -certreq -file <CSRファイル名>.csr -keystore <キーストアファイル名>.jks -storepass <パスワード>
作成されたCSRファイルをCAに送る。


サーバ証明書のインポート
サーバ証明書が届いたら、キーストアファイルにインポートする。
CAによってはルート証明書と中間証明書のインポートも必要になる(うちがやり取りしている所はそうだった)。
その場合はルート→中間→サーバの順番でインポートを行う。
また、うちがやり取りしている所はサーバ証明書が*.cer(X.509)で届いたが、インポートする為には
*.p7(PKCS#7)に変換しないとインポートできなかった。といってもファイルの拡張子を.p7すれば良いだけだったので、
Windows側の縛りなのか、keytoolコマンドの仕様なのか、はたまたCAのキーがおかしいのか、よく分からずじまい。

ルート証明書のインポート
keytool -importcert -keystore <キーストアファイル名>.jks -storepass <パスワード> -alias rootCA -file <ルート証明書ファイル>.p7

中間証明書のインポート
keytool -importcert -keystore <キーストアファイル名>.jks -storepass <パスワード> -trustcacerts -alias intermediateCA -file <中間証明書ファイル>.p7

サーバ証明書のインポート
keytool -importcert -keystore <キーストアファイル名>.jks -storepass <パスワード> -keyalg "RSA" -trustcacerts -file <サーバ証明書ファイル名>.p7


■キーストアファイルの変換
この部分以降が5.0.x⇒5.1.xでガラッと変わっており、ドキュメントが探せなかった事もあって相当てこずった。
今までJKS形式で作っていたキーストアファイルをPKCS#12ファイルに変換する。
keytool -importkeystore -srckeystore <キーストアファイル名>.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore <新キーストアファイル名>.p12

#元々PKCS#12形式で作れば良かったのではと思うが…キーのインポートなどができるかどうかが不明。
#検証したいところではあるが、来年の更新時に試すのが関の山か。


■キーストアのインポート
ファイル名を指定して実行⇒mmc⇒スナップインの追加と削除⇒証明書⇒コンピュータアカウント⇒ローカルコンピュータ
の順番で辿っていく

操作⇒すべてのタスク⇒インポートをクリック

ウィザードに従いインポートを行う。ファイルは先ほど作成したPKCS#12ファイルを指定。

「エクスポート可能としてこのキーをマーク」、「拡張可能なプロパティをすべて含める」はどちらもチェックを入れる

証明書が追加され、証明書情報内に「この証明書に対応する秘密鍵を所有しています」と表示されれば
インポート成功


■フレンドリ名の変更
インポートされた証明書を右クリックし、「プロパティ」を選択

フレンドリ名を「vdm」と変更する。
もし既存の証明書でvdmというフレンドリ名のものがある場合はリネームしておく


■サービス再起動
サービス「VMware View Connection Server」を再起動する。
時間がかかっても構わないならサーバごと再起動しても問題なし。


以上で、WebブラウザやView ClientなどでView Connection ServerにHTTPS接続した際に
証明書のエラーが発生しなくなる(はず)。

が、View Connection Serverのダッシュボードを見ると
接続サーバに「サーバ証明書はチェックできません」というエラーが出て赤くなっている。
これはConnection Server が、証明書失効リスト (CRL) 内のURLに到達出来ない為発生しているらしい。
プロキシサーバ経由のネットワークだったりするとCRLに接続できない(プロキシ設定が出来ない)為、
エラーを消したいならレジストリの以下の値を修正する。

■証明書失効リスト (CRL) を見に行かないように設定

HKEY_LOCAL_MACHINE\Software\VMware, Inc.\VMware VDM\Security\ に移動する。

レジストリ文字列値(REG_SZ) : CertificateRevocationCheckType を作成し、値を 1 にする。

サービス「VMware View Connection Server」を再起動またはサーバごと再起動

 

以上