Product Documentation

クライアント証明書認証の構成

Aug 02, 2016

XenMobile ENTおよびMAMモードでクライアント証明書認証を使用するには、Microsoftサーバー、XenMobileサーバーを構成してから、NetScaler Gatewayを構成する必要があります。 この記事では、次の一般的な手順を詳しく説明します。

Microsoftサーバーの場合

  1. 証明書のスナップインをMicrosoft管理コンソールに追加します。
  2. テンプレートを証明機関(CA)に追加します。
  3. CAサーバーからPFX証明書を作成します。

XenMobileサーバーの場合

  1. 証明書をXenMobileにアップロードします。
  2. 証明書に基づいた認証のためにPKIエンティティを作成します。
  3. 資格情報プロバイダーを構成します。
  4. NetScaler Gatewayを構成して、認証用のユーザー証明書を配信します。

NetScaler Gateway:

  1. XenMobile MAMモードの証明書認証用にNetScaler Gatewayを構成します。

前提条件

  • クライアント証明書認証およびSSL Offloadを使用するWindows Phone 8.1デバイスの場合、NetScaler内の両方の負荷分散仮想サーバー上のポート443に対するSSLセッション再利用を無効にする必要があります。 そうするには、vserver上でポート443に対して次のコマンドを実行します。

set ssl vserver sessReuse DISABLE

注:SSLセッション再利用を無効にすると、NetScalerで提供される最適化の一部が無効になり、NetScaler上のパフォーマンスが低下することがあります。

  • Exchange ActiveSyncに対して証明書ベースの認証を構成するには、このMicrosoftのブログを参照してください。
  • プライベートサーバー証明書を使用してExchange ServerへのActiveSyncトラフィックを保護する場合は、モバイルデバイスがすべてのルート証明書および中間証明書を持っていることを確認してください。 そうしない場合、WorxMailでのメールボックス設定時に、証明書ベースの認証が失敗します。 Exchange IIS Consoleコンソールでは、次のことが必要です。
    • XenMobileをExchangeと使用するためのWebサイトを追加し、Webサーバー証明書をバインドします。
    • ポート9443を使用します。
    • そのWebサイトに対して、Microsoft-Server-ActiveSync用とEWS用に、2つのアプリケーションを追加する必要があります。 それらの両方のアプリケーションに対して、[SSL Settings][Require SSL]を選択します。
  • 最新のMDX Toolkitを使用してiOS、AndroidおよびWindows Phone用のWorxMailがラップされていることを確認します。

証明書のスナップインのMicrosoft管理コンソールへの追加

1. コンソールを開いて、[スナップインの追加と削除]をクリックします。

2. 次のスナップインを追加します。

証明書テンプレート
証明書(ローカルコンピューター)
証明書 - 現在のユーザー
証明機関(CA)(ローカル)

localized image

3. [証明書テンプレート]を展開します。

localized image

4. [User]テンプレートと[Duplicate Template]を選択します。

localized image

5. [テンプレート]の表示名を入力します。

重要:必要な場合以外は、[Active Directoryの証明書を発行する]チェックボックスを選択しないでください。 このオプションが選択されると、すべてのユーザークライアント証明書がActive Directoryで発行/作成され、Active Directoryデータベースを圧迫する可能性があります。

6. テンプレートの種類には[Windows 2003 Server]を選択します。Windows 2012 R2の[互換性]で、[Certificate Authority]を選択して[Windows 2003]を宛先として設定します。

7. [セキュリティ]で、認証ユーザーの[許可]列の[登録]オプションを選択します。

localized image

8. [Cryptography]で、XenMobileの構成中に入力する必要のあるキーサイズが入力されていることを確認します。

localized image

9. [サブジェクト名]で、[要求に含まれる]を選択します。 変更を適用して、保存します。

localized image

証明機関(CA)へのテンプレートの追加

1. [Certificate Authority]に移動して、[証明書テンプレート]を選択します。

2. 右ペインを右クリックして、[新規作成]、[発行する証明書テンプレート]の順に選択します。

localized image

3. 前の手順で作成したテンプレートを選択し、[OK]をクリックして[Certificate Authority]に追加します。

localized image

CAサーバーからのPFX証明書の作成

1. ログインしたサービスアカウントで、ユーザー.pfx certを作成します。 この.pfxファイルはXenMobileにアップロードされ、デバイスを登録するユーザーのためにユーザー証明書を要求します。

2. [現在のユーザー]で、[証明書]を展開します。

3. 右ペインで右クリックし、[Request New Certificate]をクリックします。

localized image

4. [Certificate Enrollment]画面が表示されます。 [次へ]をクリックします。

localized image

5. [Active Directory登録ポリシー]を選択して[次へ]をクリックします。

localized image

6. [ユーザー]テンプレートを選択し、[登録]をクリックします。

localized image

7. 前の手順で作成した.pfxファイルをエクスポートします。

localized image

8. [はい、秘密キーをエクスポートします]をクリックします。

localized image

9. [証明のパスにある証明書を可能であればすべて含む]を選択し、[すべての拡張プロパティをエクスポートする]チェックボックスを選択します。

localized image

10. XenMobileに証明書をアップロードする際に使用するパスワードを設定します。

localized image

11. 証明書をローカルのハードドライブに保存します。

XenMobileへの証明書のアップロード

1. XenMobileコンソールで、右上の歯車アイコンをクリックします。 [設定]画面が表示されます。

2. [証明書]をクリックしてから、[インポート]をクリックします。

3. 以下のパラメーターを入力します。

  • インポート:Keystore
  • キーストアの種類:PKCS#12
  • 使用目的:Server
  • Key File Name:[参照]をクリックして、前の手順で作成した.pfx 証明書を選択します。
  • パスワード:証明書と一緒に作成したパスワードを入力します。 
localized image

4. [Import]をクリックします。

5. 証明書が正常にインストールされているか確認します。 ユーザー証明書として表示されているはずです。

証明書に基づいた認証のためのPKIエンティティの作成

1. [設定]で、[詳細]、[証明書管理]、[PKIエンティティ]の順に移動します。

2. [追加]をクリックしてから、[Microsoft 証明書サービス エンティティ]をクリックします。 [Microsoft 証明書サービス エンティティ: 一般的な情報]画面が表示されます。

3. 以下のパラメーターを入力します。

  • 名前:任意の名前を入力します
  • Web 登録サービス ルート URL:https://RootCA-URL/certsrv/
    URLパスの末尾が「/」で終わっていることを確認してください。
  • certnew.cer ページ名:certnew.cer(デフォルト値)
  • certfnsh.asp:certfnsh.asp(デフォルト値)
  • Authentication type:クライアント証明書。
  • SSLクライアント証明書:XenMobileクライアント証明書を発行するために使用するユーザー証明書を選択します。
localized image

4. [テンプレート]で、Microsoft証明書を構成したときに作成したテンプレートを追加します。 空白を入れないように注意してください。

localized image

5. HTTPパラメーターをスキップし、[CA 証明書]をクリックします。

6. 環境内で関連するルートCA証明書の名前を選択します。 このルートCA証明書は、XenMobileクライアント証明書からインポートされたチェーンの一部です。

localized image

7. [Save]をクリックします。

資格情報プロバイダーの構成

1. [設定]で、[詳細]、[証明書管理]、[資格情報プロバイダー]の順に移動します。

2. [Add]をクリックします。

3. [全般]で、次のパラメーターを入力します。

  • 名前:任意の名前を入力します。
  • アカウントの説明:任意の説明を入力します。
  • 発行エンティティ:前に作成したPKIエンティティを選択します。
  • 発行方式:SIGN
  • テンプレート:PKIエンティティに追加されたテンプレートを選択します。
localized image

4. [証明書署名要求]をクリックしてから、次のパラメーターを入力します。

  • キー アルゴリズム:RSA
  • キー サイズ:2048
  • 署名アルゴリズム:SHA1withRSA
  • サブジェクト名:cn=$user.username

[サブジェクトの別名][追加]をクリックしてから、次のパラメーターを入力します。

  • 種類:ユーザープリンシパル名
  • :$user.userprincipalname 
localized image

5. [ディストリビューション]をクリックし、次のパラメーターを入力します。

  • 発行 CA 証明書:署名済みのXenMobileクライアント証明書の発行CAを選択します。
  • ディストリビューション モードの選択[優先集中: サーバー側のキー生成]を選択します。
localized image

6. 次の2つのセクション(Revocation XenMobileRevocation PKI)で必要なパラメーターを設定します。 この記事では、このオプションをスキップします。

7. [更新]をクリックします。

8. [有効期限が切れたら証明書を更新][オン]を選択します。

9. そのほかの設定はすべてそのままにするか、必要な変更を加えます。 

localized image

10. [Save]をクリックします。

証明書ベースの認証を使用するようにWorxMailを構成する

XenMobileにWorxMailを追加する場合、必ず[App Settings]の下でExchange設定を構成します。

localized image

XenMobileでのNetScaler証明書の配信の構成

1. XenMobileコンソールにログオンして、右上の歯車アイコンをクリックします。 [設定]画面が表示されます。

2. [Server]の下の[NetScaler Gateway]をクリックします。

3. NetScaler Gatewayがまだ追加されていない場合、[Add]をクリックして、次のように設定を指定します。

  • External URL:https://YourNetScalerGatewayURL
  • Logon Type:Certificate
  • Password Required: OFF
  • Set as Default: ON

4. [Deliver user certificate for authentication][On]を選択します。

localized image

5. [Credential Provider]でプロバイダーを選択し、[Save]をクリックします。

6. ユーザープリンシパル名(UPN)の代替としてユーザー証明書のsAMAccount属性を使用する場合、XenMobileでLDAPコネクタを次のように構成します:[Settings]>[LDAP]に移動し、ディレクトリを選択して[Edit]をクリックし、[User search by][sAMAccountName]を選択します。

localized image

Windows Phone 8.1デバイス用のEnterprise Hubポリシーの作成

Windows Phone 8.1デバイスの場合、Enterprise Hubデバイスポリシーを作成して、AETXファイルおよびWorx Homeクライアントを配信する必要があります。

注意

AETXファイルとWorx Homeファイルの両方が、証明書プロバイダーからの同じエンタープライズ証明書と、Windowsストア開発者アカウントからの同じ発行元IDを使用していたことを確認します。

1.XenMobileコンソールで、[Configure]の[Device Policies]をクリックします。

2. [Add]をクリックした後、[More]>[XenMobile Agent]の下の[Enterprise Hub]をクリックします。

3. ポリシーに名前を付けた後で、必ずエンタープライズハブに対して適切な.AETXファイルと署名されたWorx Homeアプリを選択します。

localized image

4. ポリシーをデリバリーグループに割り当て、保存します。

NetScaler for XenMobileウィザードを使用して証明書認証用にNetScaler Gatewayを構成する

注意

NetScaler for XenMobileウィザードは1回のみ実行できます。 ウィザードをすでに使用した場合、「証明書認証用のNetScaler Gatewayの手動構成」の手順に従います。続いて、次のようにします。

次の手順で、XenMobileの証明書認証用にNetScalerアプライアンスを構成します。

1. NetScalerにログオンします。

2. [構成]で、[Integrate with Citrix Products]に移動し、[XenMobile]を選択します。

これによって、XenMobile環境でNetScaler機能を構成するウィザードが開きます。

3. [XenMobile 10]を選択します。

4. [Get Started]をクリックします。

localized image

5. 次の画面で、[Access through NetScaler Gateway](ENTモードおよびMAMモードの場合)と[Load Balance XenMobile Servers]選択してから、[続行]をクリックします。

localized image

6. 次の画面で外部向けのNetScaler GatewayのIPアドレスを入力し、[続行]をクリックします。

NetScaler Gatewayのサーバー証明書画面が表示されます。

7. 既存の証明書を使用するか、証明書をインストールします。 [続ける]をクリックします。

[認証設定]画面が表示されます。

8. [Primary authentication method]フィールドで、[クライアント証明書]を選択します。

これによって、次の2つのフィールドで自動的に[Use existing certificate policy]および[Cert Auth]を選択します。 次の手順では、証明書ポリシーがすでにあることを前提しています。

証明書を作成する必要がある場合、[Create certificate policy]をクリックして、設定を完了します。 [XenMobile Server Certificate]画面で、既存のサーバー証明書を選択するか、新しい証明書をインストールします。 複数のXenMobileサーバーを実行している場合、各サーバーに証明書を追加します。 [Server Logon Name Attribute]には、[userPrincipalName]または[samAccountName]を指定します。

9. [Click here to change the CA certificate]を選択してから、[参照]一覧から目的のCA証明書に移動します。 

localized image

10. [Second authentication method][なし]のままにして、[続ける]をクリックします。

11. [Device certificate]画面で、証明書がまだインストールされていない場合、XenMobileコンソールからこの証明書をエクスポートする必要があります。 必要な操作:

a. コンソールで、右上の歯車アイコンをクリックして、[設定]画面を開きます。

b. [証明書]をクリックして、一覧からCA証明書を選択します。

c. [Export]をクリックします。

d. NetScalerウィザードに戻って、インストールのためにエクスポート(ダウンロード)した証明書を選択します。

e. [続ける]をクリックします。

既に構成したXenMobileサーバーのIPアドレスが表示されます。

12. [負荷分散]画面で、XenMobileサーバーのFQDNとMAM-onlyの内部負荷分散IPアドレスを入力します。

13. これはSSLオフロード展開であるため、[Communication with XenMobile Server][HTTP]を選択します。

[Split DNS mode for MicroVPN]フィールドに、[両方]が表示されます。

14. [続ける]をクリックします。 

localized image

既に構成したXenMobileサーバーのIPアドレスが表示されます。

15. [続ける]をクリックします。

次のように、NetScalerダッシュボードで、NetScaler GatewayおよびXenMobileの負荷分散が構成されます。

localized image

16. ユーザープリンシパル名(UPN)の代替としてユーザー証明書のsAMAccount属性を使用する場合、次のセクションの説明に従って証明書プロファイルを構成します。

証明書認証用のNetScaler Gatewayの手動構成

1. [Traffic Management]>[Load Balancing]>[Virtual Servers]の下で、各仮想サーバー(443と8443の両方)に移動し、[SSL Parameters]を更新し、[Enable Session Reuse][DISABLED]に設定します。

localized image

2. NetScaler Gateway仮想サーバーの[Enable Client Authentication]>[Client Certificate][Client Authentication]を選択し、[Client Certificate]には[Mandatory]を選択します。

localized image

3. XenMobileが、ユーザープリンシパル名またはsAMAccountを、Worx HomeによってNetScaler Gatewayに提供されたクライアント証明書から抽出できるように、新しい認証証明書ポリシーを作成します。

4. 証明書プロファイルに次のパラメーターを設定します。

Authentication Type:CERT

Two Factor:ONまたはOFF

User Name Field:Subject:CN

Group Name Field:SubjectAltName:PrincipalName

localized image

5. NetScaler Gateway仮想サーバーの[Primary Authentication]として、証明書認証ポリシーのみをバインドします。

localized image

6. NetScaler Gatewayに提示されたクライアント証明書の信頼を検証するには、ルートCA証明書をバインドします。

localized image

クライアント証明書構成のトラブルシューティング

構成が成功した場合、ユーザーワークフローは次のようになります。

1. ユーザーがモバイルデバイスを登録します。

2. XenMobileがユーザーにWorx PINを作成するよう求めます。

3. ユーザーがWorx Storeにリダイレクトされます。

4. ユーザーがiOS、AndroidまたはWindows Phone 8.1用のWorxMailを起動した場合、XenMobileはユーザーのメールボックスを構成するための適切な資格情報を求めません。 その代わりに、WorxMailはWorx Homeからのクライアント証明書を要求し、認証のためにMicrosoft Exchange Serverに送信します。 ユーザーがWorxMailを起動したときにXenMobileが資格情報を求めた場合、構成を確認します。

ユーザーはWorxMailをダウンロードしてインストールできるが、WorxMailがメールボックス構成時に構成を完了できない場合:

1. Microsoft Exchange Server ActiveSyncがプライベートSSLサーバー証明書を使用してトラフィックを保護している場合、ルート証明書または中間証明書がモバイルデバイスにインストールされていることを確認してください。

2. ActiveSyncに対して選択された認証の種類が[Require client certificates]であることを確認します。

localized image

3. Microsoft Exchange Serverで、Microsoft-Server-ActiveSyncサイトのクライアント証明書マッピング認証が有効になっていることを確認します(デフォルトでは無効)。 オプションは、[Configuration Editor]>[Security]>[Authentication]にあります。

localized image

注:[True]を選択したら、必ず[Apply]をクリックして変更を反映してください。

4. XenMobileコンソールでNetScaler Gateway設定を確認します:「XenMobileでNetScaler証明書の配信を構成するには」の説明に従って、[Deliver user certificate for authentication][ON]で、[Credential provider]で適切なプロファイルが選択されていることを確認してください。


クライアント証明書がモバイルデバイスに配信されたかどうかを判定するには:

1. XenMobileコンソールで、[Manage]>[Devices]と移動して、デバイスを選択します。

2. [Edit]または[Show More]をクリックします。

3. [Delivery Groups]セクションに移動し、このエントリを検索します。

NetScaler Gateway Credentials : Requested credential, CertId=


クライアント証明書ネゴシエーションが有効かどうか確認するには:

1. このnetshコマンドを実行して、IIS WebサイトにバインドされたSSL証明書構成を表示します。

netsh http show sslcert

2. [Negotiate Client Certificate]の値が[Disabled]の場合、次のコマンドを実行して有効化します。

netsh http delete sslcert ipport=0.0.0.0:443

netsh http add sslcert ipport=0.0.0.0:443 certhash=cert_hash appid={app_id} certstorename=store_name verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable

たとえば、次のように設定します:

netsh http add sslcert ipport=0.0.0.0:443 certhash=609da5df280d1f54a7deb714fb2c5435c94e05da appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=ExampleCertStoreName verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable

XenMobileを介してWindows Phone 8.1デバイスにルート証明書または中間証明書を配信できない場合:

  • 電子メールを介してWindows Phone 8.1デバイスにルート証明書または中間証明書(.cer)ファイルを送信し、直接インストールします。

WorxMailがWindows Phone 8.1に正常にインストールされない場合:

  • Enterpriseハブデバイスポリシーを使用して、XenMobile経由でアプリケーション登録トークン(.AETX)ファイルが配信されていることを確認します。
  • アプリケーション登録トークンが、WorxMailをラップし、Worx Homeアプリに署名するために使用された証明書プロバイダーからの同じエンタープライズ証明書を使用して作成されたことを検証します。
  • 同じ発行元IDが、Worx Home、WorxMail、およびアプリケーション登録トークンをラップし、署名するために使用されていることを確認します。