Citrix ADC

Citrix ADCアプライアンスで証明書署名リクエストを作成してSSL証明書を使用します

証明書のインストール、リンク、更新については、「 証明書のインストール、リンク、および更新」を参照してください。

証明書を作成し、SSL 仮想サーバーにバインドするには、次の手順を実行します。

  • プライベートキーを作成します。
  • 証明書署名要求 (CSR) を作成します。
  • 認証局へのCSRの提出
  • 証明書とキーのペアを作成します。
  • 証明書とキーのペアを SSL 仮想サーバーにバインドする

次の図は、ワークフローを示しています。

エンドツーエンドフロー

秘密キーの作成

秘密キーは、デジタル証明書の最も重要な部分です。定義上、このキーは誰にも共有されないため、Citrix ADCアプライアンスに安全に保管する必要があります。公開キーで暗号化されたデータは、秘密キーを使用してのみ復号化できます。

CA から受け取った証明書は、CSR の作成に使用された秘密キーでのみ有効です。このキーは、証明書をCitrix ADCアプライアンスに追加するために必要です。

重要:秘密鍵へのアクセスを制限してください。プライベートキーへのアクセス権を持つユーザーは、SSL データを復号化できます。

注: 許可されるSSL鍵名の長さには、パスが鍵名に含まれている場合は絶対パス名の長さが含まれます。

CLI を使用した RSA 秘密キーの作成

コマンドプロンプトで入力します。

create ssl rsakey <keyFile> <bits> [-exponent ( 3 | F4 )] [-keyform (DER | PEM )] [-des | -des3 | -aes256] {-password } [-pkcs8]
<!--NeedCopy-->

例:

create rsakey RSA_Key 2048 -aes256 -password 123456 -pkcs8
<!--NeedCopy-->

GUI を使用した RSA 秘密キーの作成

  1. [ トラフィック管理] > [SSL] > [SSL ファイル] に移動します。

  2. [ SSLファイル ]ページで、[ キー ]タブをクリックし、[ RSAキーの作成]を選択します。

    RSA キーの作成

  3. 次のパラメータの値を入力し、[作成] をクリックします。

    • [Key Filename]:RSA キーファイルの名前、およびオプションで、RSA キーファイルへのパス。 /nsconfig/ssl/ がデフォルトのパスです。
    • キーサイズ:RSA キーのサイズ(ビット単位)。512ビットから4096ビットの範囲が可能です。
    • 公開指数-RSA キーの公開指数。指数は暗号アルゴリズムの一部であり、RSA鍵を作成するために必要です。
    • Key Format:RSAキー・ファイルがアプライアンスに保存される形式。
    • PEM エンコーディングアルゴリズム-AES 256、DES、またはトリプル DES (DES3) アルゴリズムを使用して、生成された RSA キーを暗号化します。デフォルトで秘密キーは暗号化されません。
    • PEMパスフレーズ -秘密鍵が暗号化されている場合は、鍵のパスフレーズを入力します。

    値の入力

証明書署名要求を作成する

秘密キーを使用して証明書署名要求を作成し、証明機関に送信します。

CLI を使用して証明書署名要求を作成する

コマンドプロンプトで入力します。

create ssl certreq <reqFile> -keyFile <input_filename> | -fipsKeyName <string>) [-keyForm (DER | PEM) {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName <string> -organizationUnitName <string> -localityName <string> -commonName <string> -emailAddress <string> {-challengePassword } -companyName <string> -digestMethod ( SHA1 | SHA256 )
<!--NeedCopy-->

例:

create ssl certreq priv_csr_sha256 -keyfile priv_2048_2 -keyform PEM -countryName IN -stateName Karnataka -localityName Bangalore -organizationName Citrix -organizationUnitName NS -digestMethod SHA256
<!--NeedCopy-->

GUI を使用して証明書署名要求を作成する

  1. [ トラフィック管理 ] > [ SSL] に移動します。
  2. [ SSLファイル ]ページで、[ CSR ]タブをクリックし、[ 証明書署名要求(CSR)の作成]をクリックします。

    証明書署名要求の作成

  3. 次のパラメータの値を入力します。

    • 要求ファイル名 -証明書署名要求(CSR)の名前と、オプションでパス。 /nsconfig/ssl/ デフォルトのパスです。

    • キーファイル名 -証明書署名要求の作成に使用される秘密キーの名前と、オプションでパス。証明書とキーのペアの一部になります。秘密キーは RSA キーまたは ECDSA キーのいずれかです。キーは、アプライアンスのローカルストレージに存在する必要があります。 /nsconfig/ssl がデフォルトのパスです。

    • キーの形式
    • PEMパスフレーズ(暗号化されたキーの場合)
    • ダイジェスト法
    • 組織名
    • 州または県
    • サブジェクト代替名: サブジェクト代替名(SAN)は、X.509の拡張であり、subjectAltNameフィールドを使用してさまざまな値をセキュリティ証明書に関連付けることができます。これらの値は「サブジェクト代替名」(SAN)と呼ばれます。名前には次のものがあります。
      • IPアドレス(プレフィックスは “IP:” 例: IP:198.51.10.5 IP:192.0.2.100)
      • DNS名(プレフィックスは “DNS:” 例: DNS:www.example.com DNS:www.example.org DNS:www.example.net)

      メモ:

      • 証明書のサブジェクト代替名 (SAN) フィールドを使用すると、ドメイン名や IP アドレスなどの複数の値を 1 つの証明書に関連付けることができます。つまり、www.example.com、www.example1.com、www.example2.com などの複数のドメインを 1 つの証明書で保護できます。

      • Google Chrome などの一部のブラウザでは、証明書署名リクエスト (CSR) で共通名がサポートされなくなりました。パブリックに信頼されるすべての証明書に SAN を適用します。

    • 共通名: 指定した名前は、SSLハンドシェイク中にサーバー証明書の共通名と比較されます。2 つの名前が一致すると、ハンドシェイクは成功します。共通名が一致しない場合、サービスまたはサービスグループに指定された共通名が、証明書のSANフィールド値と比較されます。これらの値のいずれかに一致すると、ハンドシェイクは成功します。この設定は、たとえば、ファイアウォールの内側に 2 台のサーバがあり、一方のサーバが他方のサーバの ID をスプーフィングする場合に特に便利です。共通名がチェックされていない場合、IP アドレスが一致すれば、いずれかのサーバから提示された証明書が受け入れられます。

    CSRの値を入力してください

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

認証局へのCSRの提出

ほとんどの証明機関 (CA) は、電子メールによる証明書の提出を受け付けています。CA は、CSR の送信元の電子メールアドレスに有効な証明書を返します。

証明書とキーのペアを追加します

認証局から受け取った署名付き証明書をインストールします。

注: 証明書とキーは、デフォルトで /nsconfig/ssl ディレクトリに保存されます。証明書またはキーが他の場所に保存されている場合は、Citrix ADCアプライアンス上のファイルへの絶対パスを指定する必要があります。

CLI を使用した証明書とキーのペアの追加

add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey [<certkeyName>]
<!--NeedCopy-->

例:

add ssl certKey rsa_certkeypair -cert server_cert.pem -key RSA_Key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
 Done
<!--NeedCopy-->

GUI を使用した証明書とキーのペアの追加

  1. [トラフィック管理] > [SSL] > [証明書] > [サーバー]に移動します。

    証明書のインストール

  2. 次のパラメーターの値を入力してInstallをクリックします。

    • 証明書とキーのペア名-証明書と秘密キーのペアの名前。

    • 証明書ファイル名-認証局から受け取った署名付き証明書。

    • [Key File Name]:証明書とキーのペアの形成に使用される秘密キーファイルの名前、および任意でパス。

    タイプ値

証明書とキーのペアを SSL 仮想サーバーにバインドする

重要:証明書を SSL 仮想サーバーにバインドする前に、中間証明書をこの証明書にリンクします。証明書のリンクの詳細については、「 証明書のチェーンを作成する」を参照してください。

SSL トランザクションの処理に使用される証明書は、SSL データを受信する仮想サーバーにバインドする必要があります。SSL データを受信する仮想サーバが複数ある場合は、有効な証明書とキーのペアをそれぞれにバインドする必要があります。

CLI を使用して SSL 証明書とキーのペアを仮想サーバーにバインドする

コマンドプロンプトで次のコマンドを入力して、SSL 証明書とキーのペアを仮想サーバーにバインドし、構成を確認します。

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
show ssl vserver <vServerName>
<!--NeedCopy-->

例:

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
 Done
sh ssl vs vs1

 Advanced SSL configuration for VServer vs1:

 DH: DISABLED

 Ephemeral RSA: ENABLED Refresh Count: 0

 Session Reuse: ENABLED Timeout: 120 seconds

 Cipher Redirect: DISABLED

 SSLv2 Redirect: DISABLED

 ClearText Port: 0

 Client Auth: DISABLED

 SSL Redirect: DISABLED

 Non FIPS Ciphers: DISABLED

 SNI: DISABLED

 OCSP Stapling: DISABLED

 HSTS: DISABLED

 IncludeSubDomains: NO

 HSTS Max-Age: 0

 SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: DISABLED  TLSv1.2: DISABLED

 Push Encryption Trigger: Always

 Send Close-Notify: YES

 Strict Sig-Digest Check: DISABLED

ECC Curve: P_256, P_384, P_224, P_521

 1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
 2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
 1) Cipher Name: DEFAULT

Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->

GUI を使用して SSL 証明書とキーのペアを仮想サーバーにバインドする

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動し、SSL 仮想サーバーを開きます。[証明書] セクション内をクリックします。

    仮想サーバーへの証明書のバインド

  2. 矢印をクリックして、証明書とキーのペアを選択します。

    矢印をクリックして証明書とキーのペアを選択

  3. リストから証明書とキーのペアを選択します。

    証明書とキーのペアの選択

  4. 証明書とキーのペアを仮想サーバにバインドします。

    証明書を仮想サーバーにバインドする

トラブルシューティング

以下は、2 つの一般的なエラーシナリオで、それぞれのソリューション記事へのリンクを示します。

  • Citrix ADCアプライアンスに証明書とキーのペアをインストールするときに次のエラーが表示された場合は、https://support.citrix.com/article/CTX134233を参照してください。

    エラー: 無効な秘密キー、または PEM パスフレーズがこの秘密キーに必要です。

  • Citrix ADCアプライアンスにSSL証明書をインストールするときに次のエラーが表示された場合は、 https://support.citrix.com/article/CTX137887を参照してください。

    エラー: 証明書が無効です。

Citrix ADCアプライアンスで証明書署名リクエストを作成してSSL証明書を使用します