証明書を管理する

TLSは、2つの当事者間の信頼を確立するために証明書を使用します。サービスを提供する各サーバーに適切な証明書をインストールし、そのサーバーに接続するマシンがその証明書を信頼することを確認する必要があります。証明書に署名するためのオプションは次のとおりです。

  • 自己署名証明書。これらは推奨されません。この証明書を信頼する必要がある他のマシンに手動でコピーする必要があるため、管理が困難です。
  • エンタープライズ認証局。既存のPKIが導入されている場合、これは通常、内部デバイス間で使用する証明書に署名するための最も簡単なオプションです。
  • 公開認証局。これには、ドメインの所有権を認証局に証明する必要があります。管理されていないクライアントデバイスは、主要な公開認証局からの証明書を信頼するように通常は事前設定されているという利点があります。

新しい証明書を作成する

証明書の作成については、組織のポリシーと手順に従ってください。

Microsoft証明機関を使用して証明書を作成する

Microsoft証明機関がActive DirectoryドメインまたはDelivery Controllerが参加している信頼されたフォレストに統合されている場合、証明書MMCスナップインの証明書登録ウィザードから証明書を取得できます。Microsoft証明機関は、Webサーバーでの使用に適した証明書テンプレートを公開している必要があります。

ルート証明書は、グループポリシーを使用してドメイン上の他のマシンに自動的に展開されます。したがって、ドメイン上の他のすべてのマシンは、Microsoft証明機関を使用して作成された証明書を信頼します。ドメイン上にないマシンがある場合は、ルート証明機関証明書をエクスポートして、それらのマシンにインポートする必要があります。

  1. サーバーで、MMCコンソールを開き、証明書スナップインを追加します。プロンプトが表示されたら、[コンピューターアカウント]を選択します。

  2. 個人 > 証明書を展開し、すべてのタスク > 新しい証明書の要求コンテキストメニューコマンドを使用します。

    MMC証明書スナップイン(/ja-jp/citrix-virtual-apps-desktops/2411/media/tls-mmc-certificates.png)

  3. 開始するには次へをクリックし、Active Directory登録から証明書を取得することを確認するには次へをクリックします。

  4. Web Server Exportableなどの適切なテンプレートを選択します。テンプレートがSubjectの値を自動的に提供するように設定されている場合は、詳細を指定せずに登録をクリックできます。それ以外の場合は、この証明書を登録するには詳細情報が必要です。設定を構成するにはここをクリックしてください。をクリックします。

    証明書要求ダイアログ

  5. 証明書テンプレートの詳細を指定するには、詳細の矢印ボタンをクリックして、以下を構成します。

    サブジェクト名: 共通名を選択し、サーバーのFQDNを追加します。

    代替名: DNSを選択し、サーバーのFQDNを追加します。

    証明書のプロパティ

  6. OKを押します。

  7. 登録を押して証明書を作成します。証明書の一覧に表示されます。

    個人証明書のスクリーンショット

IISを使用して証明書要求を作成する

サーバーにIISがインストールされている場合は、次の手順を実行します。

  1. インターネットインフォメーションサービス(IIS)マネージャーを開きます。
  2. 接続リストでサーバーノードを選択します。
  3. サーバー証明書を開きます。 「サーバー証明書」の場所を示すスクリーンショット
  4. 操作ペインから、証明書の要求の作成…を選択します。 「証明書の要求の作成」が強調表示された操作メニューのスクリーンショット
  5. 識別名プロパティを入力します。 識別名プロパティ画面のスクリーンショット
  6. 暗号化サービスプロバイダーのプロパティ」画面で、「暗号化サービスプロバイダー」をデフォルトのままにします。キーサイズは「2048」以上に設定します。 Screenshot of Cryptographic Service Provider Properties screen
  7. ファイル名を選択し、完了を押します。 (/ja-jp/citrix-virtual-apps-desktops/2411/media/iis-request-certificate-file-name.png)
  8. CSRを証明機関にアップロードします。
  9. 証明書を受け取ったら、操作ペインから「証明書要求の完了…」を選択します。 (/ja-jp/citrix-virtual-apps-desktops/2411/media/iis-complete-certificate-request.png)
  10. 証明書を選択し、フレンドリ名を指定してOKを押します。 (/ja-jp/citrix-virtual-apps-desktops/2411/media/iis-certificate-authority-response.png)

サブジェクトの別名を設定する方法はありません。したがって、証明書は共通名を使用して指定されたサーバーに限定されます。

証明書スナップインから証明書署名要求を作成する

証明書MMCスナップイン内から、証明書署名要求を作成できます。これにより、証明書を提供する証明機関に送信できるファイルが生成されます。その後、証明書をインポートして、ローカルの秘密キーと結合する必要があります。

  1. サーバーで、MMCコンソールを開き、証明書スナップインを追加します。プロンプトが表示されたら、「コンピューターアカウント」を選択します。

  2. 個人」>「証明書」を展開します。
  3. すべてのタスク」>「高度な操作」>「カスタム要求の作成」を選択します。
  4. 開始する前に」で、「次へ」を選択します。
  5. 証明書登録ポリシーの選択」画面で、適切な既存のポリシーを選択するか、「登録ポリシーなしで続行」を選択します。
  6. カスタム要求」画面で、登録ポリシーを使用している場合は、利用可能な場合は、「Webサーバーのエクスポート可能」などの適切なテンプレートを選択します。
  7. 証明書情報」画面で、「詳細」を展開し、「プロパティ」を選択します。
  8. 証明書のプロパティ」ウィンドウの「全般」タブで、適切なフレンドリ名を入力します。
  9. サブジェクト」タブで:

    1. サブジェクト名」の下で、「共通名」を選択し、サーバーのFQDNを入力します。ワイルドカードを入力することもできます。「追加」を選択します。
    2. サブジェクト名」の下で、組織、組織単位、地域、都道府県、国に適切な値を追加します。
    3. 代替名」の下で、「DNS」を選択します。サーバーのFQDNを追加します。複数のサーバーFQDNまたはワイルドカードFQDNを追加できます。
  10. 拡張機能」タブで:

    • キー使用法」の下で、「デジタル署名」と「キーの暗号化」を追加します。
    • 拡張キー使用法 (アプリケーションポリシー)」の下で、「サーバー認証」と「クライアント認証」を追加します。
  11. 秘密キー」タブで。

    • 暗号化サービスプロバイダー (CSP) の選択」の下で、適切なプロバイダーを選択します。
    • キーオプション」の下で、適切なキーサイズを選択します。RSAプロバイダーの場合、最小で2048のキーサイズを使用します。セキュリティを強化するために4096を選択することもできますが、パフォーマンスにわずかな影響があります。
    • キーオプション」の下で、「秘密キーをエクスポート可能にする」を選択します。
  12. OK」を選択します。
  13. 次へ」を選択します。
  14. 参照」を選択し、要求を保存します。
  15. 完了」を選択します。
  16. CSR を認証局にアップロードします。
  17. 証明書を受け取ったら、秘密鍵とリンクするように、同じサーバーに(#import-existing-certificate)します。

新しい自己署名証明書を作成する

自己署名証明書は、delivery controller™ と web studio のインストール中に作成されます。新しい自己署名証明書を生成し、既存の証明書と置き換えることができます。

IIS マネージャーを使用する

IIS がサーバーにインストールされている場合は、次の手順を実行できます。

  1. 管理者としてサーバーにログオンします。

  2. IIS マネージャーを開きます。
  3. サーバー証明書」を開きます。
  4. 操作」ペインで、「自己署名証明書の作成」を選択します。

    サーバー証明書

  5. 自己署名証明書の作成」で、証明書の名前を入力し、「OK」をクリックします。その後、自己署名証明書が作成されます。

    自己署名証明書の作成

パワーシェル の使用

PowerShell を使用して自己署名証明書を作成できます。

$certSubject = "CN=myddc.example.com" # The FQDN of the server.
$friendlyName = "Self-Signed-3"
$expireYears = 5

## Create new self-signed certificate under LocalMachine\My
$certificate = New-SelfSignedCertificate -Subject $certSubject -CertStoreLocation "Cert:\LocalMachine\My\" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 -FriendlyName $friendlyName -NotAfter $([System.DateTime]::Now.AddYears($expireYears))

# Add to trusted root certificates
$rootCertStore = Get-Item "Cert:\LocalMachine\Root\"
$rootCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$rootCertStore.Add($certificate)
<!--NeedCopy-->

既存の証明書のインポート

以下のいずれかの方法を使用して、既存の証明書をサーバーにインポートできます。

証明書のインポートウィザード

  1. PFX ファイルをダブルクリックするか、ファイルを右クリックして PFX のインストール を選択します。これにより、証明書のインポートウィザード が開きます。

  2. ストアの場所 には、ローカルコンピューター を選択します。

    証明書のインポートウィザードのスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-import-wizard.png)

  3. 必要に応じてパスワードを入力します。

    証明書のインポートウィザード、秘密鍵保護ステップのスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/key-protection.png)

  4. 証明書ストア を選択します。サーバー証明書の場合は、個人 を選択します。このマシンから信頼したいルート証明書または自己署名証明書の場合は、信頼されたルート証明機関 を選択します。

    証明書のインポートウィザード、証明書ストアステップのスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-store.png)

コンピューター証明書の管理コンソールを使用する

  1. コンピューター証明書の管理コンソールを開き、適切な証明書ストアに移動します。サーバー証明書の場合、通常は 個人 > 証明書 です。ルート証明書または自己署名証明書を信頼するには、信頼されたルート証明機関 > 証明書 を選択します。

  2. 証明書を右クリックし、> すべてのタスク > インポート… を選択します。

    コンピューター証明書の管理コンソール(/ja-jp/citrix-virtual-apps-desktops/2411/media/manage-computer-certificates-console.png)

  3. 参照…を選択し、ファイルを選択します。

  4. 必要に応じてパスワードを入力します。

パワーシェルを使用する

証明書をインポートするには、PowerShell コマンドレット Import-PfxCertificate を使用します。たとえば、パスワード 123456 を使用して証明書 certificate.pfx を個人証明書ストアにインポートするには、次のコマンドを実行します。

Import-PfxCertificate -Password $(ConvertTo-SecureString -String "123456" -AsPlainText -Force) -CertStoreLocation Cert:\LocalMachine\My\ -FilePath .\Desktop\certificate.pfx
<!--NeedCopy-->

信頼されたルート証明書をインポートするには、CertStoreLocationCert:\LocalMachine\Root\ に設定します。

秘密キーなしで証明書をエクスポートする

証明書を他のデバイスにインポートして信頼できるようにエクスポートするには、秘密キーを除外する必要があります。

  1. コンピューター証明書の管理を開きます。個人 > 証明書に移動し、エクスポートする証明書を選択します。

  2. 操作メニューから、すべてのタスク、次にエクスポートを選択します。

    エクスポートメニューのある証明書管理のスクリーンショット

  3. いいえ、秘密キーをエクスポートしません」を選択し、次へを押します。

    証明書のエクスポート

  4. 形式「DER encoded binary X.509 (.CER)」(デフォルト)を選択し、次へを押します。

  5. ファイル名を入力し、次へを押します。

    証明書のエクスポートウィザード、ファイル名のスクリーンショット

  6. 完了」を選択します。

    証明書エクスポートウィザード、エクスポート成功のスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export-complete.png)

秘密キー付きで証明書をエクスポートする

他のサーバーで使用できるように証明書をエクスポートするには、秘密キーを含める必要があります。

  1. コンピューター証明書の管理を開きます。個人 > 証明書 に移動し、エクスポートしたい証明書を選択します。

  2. 操作 メニューから、すべてのタスク、次にエクスポートを選択します。

    エクスポートメニュー付きの証明書管理のスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export.png)

  3. はい、秘密キーをエクスポートします を選択し、次へ を選択します。

    証明書のエクスポート(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export-private-key.png)

  4. セキュリティ タブで、パスワードを入力し、次へ を選択します。

    証明書エクスポートウィザード、セキュリティ手順のスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export-password.png)

  5. ファイル名を入力し、次へ を選択します。

    証明書エクスポートウィザード、ファイル名のスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export-file.png)

  6. 完了」を選択します。

    証明書エクスポートウィザード、エクスポート成功のスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-export-complete.png)

証明書をPEM形式に変換する

デフォルトでは、Windowsは秘密鍵を含む.pfxファイルとしてPKCS#12形式で証明書をエクスポートします。NetScaler® Gatewayまたはライセンスサーバーで証明書を使用するには、証明書と秘密鍵をPEM形式の個別のファイルに抽出する必要があります。これはopensslを使用して実行できます。

証明書をPEM形式でエクスポートするには、以下を実行します。

openssl pkcs12 -in name.pfx -clcerts -nokeys -out name.cer
<!--NeedCopy-->

既存のパスワードと新しいパスフレーズの入力を求められます。

キーをPEM形式でエクスポートするには、以下を実行します。

openssl pkcs12 -in name.pfx -nocerts -out name.key
<!--NeedCopy-->

証明書の信頼

  • 公開証明機関の証明書を使用する場合、デバイスには通常、ルート証明書が事前に構成されています。
  • エンタープライズ証明機関を使用する場合、その証明書を信頼する必要があるすべてのデバイスにルート証明書を展開する必要があります。Active Directory証明書サービスを使用している場合、ルート証明書はグループポリシーを使用してドメイン上のすべてのマシンにも展開されます。NetScaler Gatewayなどのドメインに参加していないマシンや、他のドメイン上のマシンには、ルート証明書を手動でインポートする必要があります。
  • 自己署名証明書を使用している場合、その証明書を信頼する必要があるすべてのマシンに手動でインストールする必要があります。

Windowsから自己署名または信頼されたルート証明書をエクスポートするには、秘密鍵なしで証明書をエクスポートするを参照してください。

Windowsが証明書を信頼するには、信頼されたルート証明機関ストアに証明書をインポートする必要があります。PowerShellを使用している場合は、ストアCert:\LocalMachine\Root\を入力します。

NetScalerが証明書を信頼するには、まず証明書をPEM形式に変換する、次にルート証明書をインストールする必要があります。

証明書を管理する