コンテンツへスキップ

AzureでSSL ジオトラストのクロスルート用を含んだ4階層の証明書をデプロイ

2011年12月6日

古いAndroidからSSLできなかったので、それを解決するまでの作業内容を書いていきます。

ジオトラストのクイックSSL プレミアムを使っています。

ジオトラストのサポートページに下記手順があったのでそれにしたがってセットアップしました。

WindowsAzure SSL環境構築手順

http://www.geotrust.co.jp/support/ssl/install/azure_ep.html

その結果、ブラウザから普通にSSLできるし、WEBサービスクライアントからもSSLで接続できました。しかし、後から気が付いたのですが、古いAndroid端末においてルート証明機関が信頼されていないような警告メッセージが出るではありませんか!

どうにかせねばならんので調査しました。まずジオトラスト関連のサポートページを漁ってみます。すると、Androidについて述べているページを発見しました。

ジオトラストSSLサーバー証明書のAndroidスマートフォン対応につきまして

http://valuessl.net/news/?p=439

Android搭載のスマートフォンでAndroid 2.2 よりも古いバージョンでは、新しいルート証明書「Geotrsut Global CA」を搭載していません。このためAndroid 2.2 よりも古いバージョンのスマートフォンでSSL通信をした場合には、エラーの警告が出ます。 ※Android 2.2 以降のバージョンでも機種によりましては、「Geotrsut Global CA」を搭載していないものもあります。

ジオトラスト社ではこれに対応するため、Android の古いバージョンが搭載している旧ルート証明書「Equifax Secure CA」から認証されたクロスルート証明書を提供しています。クロスルート証明書をインストールすることにより、「Equifax Secure Certificate Authority」と「Geotrsut Global CA」のどちらかを搭載していればSSL暗号化通信ができます。

クロスルート証明書やらをインストールすればいいそうです。ですが、あれ? WindowsAzure SSL環境構築手順でクロスルート証明書をインストールしたのに。。。さて、手順通りにやったはずなのに何故できてないのか、そもそも4階層でデプロイできているのかどうかを調査する必要があります。さしあたって、管理ポータルを確認してみます。WindowsAzure SSL環境構築手順でエクスポートした.pfxは関連するすべての証明書を含むようにしてるので、中間証明書も含まれています。ですので管理ポータルで1つの.pfxを選択して証明書を追加するいくつかの証明書が展開されます。(てか、.cerも追加できたらいいのに)

あれ?展開された証明書の発行先・発行元を辿っていくと、SSL証明書 – GeoTrust DV SSL CA – GeoTrust Global CA の3階層になってる? 4階層の場合は下記のようになるそうなんですが・・・

【Q】証明書の階層構造について

http://www.geotrust.co.jp/support/ssl/faq/900011/

4階層の場合

  • Equifax Secure Certificate Authority(ルート証明書:クライアント側)
    • GeoTrust Global CA(中間CA証明書 2階層目:サーバ側)
      • GeoTrust SSL CA / GeoTrust DV SSL CA(中間CA証明書 3階層目:サーバ側)
        • SSLサーバ証明書(お客様のサーバ証明書:サーバ側)

.pfxが展開された結果3階層になってしまっているということは、エクスポート時に既にそうなっているということですよね。エクスポート時には[関連する証明書をすべて含める]というオプションがありますが、自分でどの証明書を含めるかを選択することはできません。したがって、ローカルで4階層になるように、4階層の肝となるクロスルート用ファイルを関連させてやらねばエクスポートされません。

ではエクスポート元のローカルPCの証明書がどのような状況かmmc & 証明書スナップインで確認します。

WindowsAzure SSL環境構築手順どおりにインストールされています。

ローカルでは、GeoTrust Global CAはEquifax Secure Certificate Authorityによって証明されている。しかし、Azureでは自己証明だった。。。きっと自己証明の証明書がどこかにいるに違いないので、証明書検索で発行者にGeoTrust Global CAを入力して検索してみると、、、ありましたよ、ありました。サードパーティールート証明機関に。

こいつが邪魔なので、とりあえず信頼されていない証明書へ移動させた後、再度.pfxをエクスポートしてAzureへ追加してみると・・・!

GeoTrust Global CAはEquifax Secure Certificate Authorityによって証明されています!

次回へ続く(次回はWEBロールに中間証明書をインストールするよう設定します)

From → .NET, Azure

One Comment

Trackbacks & Pingbacks

  1. AzureでSSL まとめ « kamepress

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。