ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

証明書のインストール、リンク、および更新

証明書をインストールするには、「 証明書とキーのペアの追加または更新」を参照してください。

注:

NetScaler PEM、DER、および PFX (PKCS12) の証明書形式をサポートしています。

  • PEM には、.crt、.pem、または.cer 拡張子を付けることができます。
  • DER には.der という拡張子が付いています。
  • PFX には、.p12 または.pfx の拡張子を付けることができます。

通常、ファイル名拡張子は関係ありません。ファイルの内容は異なる方法でエンコードされ、それによって形式が決まり、それに応じて証明書が解析されます。

リンク証明書

多くのサーバー証明書は、複数の階層的な認証局 (CA) によって署名されています。つまり、証明書は次のようなチェーンを形成します。

証明書チェーン

中間 CA がプライマリとセカンダリの中間 CA 証明書に分割されることがあります。証明書は次のようなチェーンを形成します。

証明書チェーン 2

通常、クライアントマシンのローカル証明書ストアにはルート CA 証明書が含まれていますが、1 つ以上の中間 CA 証明書は含まれていません。ADC アプライアンスは、1 つ以上の中間 CA 証明書をクライアントに送信する必要があります。

注: アプライアンスはルート CA 証明書をクライアントに送信してはなりません。公開キー基盤 (PKI) の信頼関係モデルでは、ルート CA 証明書をアウトオブバンド方式でクライアントにインストールする必要があります。たとえば、証明書はオペレーティングシステムや Web ブラウザに含まれています。クライアントは、アプライアンスから送信されたルート CA 証明書を無視します。

標準的な Web ブラウザが信頼できる CA として認識しない中間 CA が、サーバ証明書を発行することがあります。この場合、1 つ以上の CA 証明書をサーバ独自の証明書とともにクライアントに送信する必要があります。そうしないと、サーバ証明書の認証に失敗するため、ブラウザは SSL セッションを終了します。

中間証明書

サーバ証明書と中間証明書を追加するには、次のセクションを参照してください。

  • 手動による証明書リンク
  • 証明書リンクの自動化
  • 証明書のチェーンを作成する

中間機関証明書をリンクする方法

手動による証明書リンク

注: この機能は、NetScaler FIPS プラットフォームおよびクラスターセットアップではサポートされていません。

個々の証明書を追加してリンクする代わりに、サーバ証明書と最大 9 個の中間証明書を 1 つのファイルにグループ化できるようになりました。証明書とキーのペアを追加するときに、ファイル名を指定できます。その前に、次の前提条件が満たされていることを確認してください。

  • ファイル内の証明書は次の順序になっています。
    • サーバー証明書 (ファイル内の最初の証明書であることが必要)
    • オプションで、サーバーキー
    • 中間証明書 1 (ic1)
    • 中間証明書 2 (ic2)
    • 中間証明書 3 (ic3)など 注:中間証明書ファイルは、中間証明書ごとに「<certificatebundlename>.pem_ic< n>」という名前で作成されます。n は 1 ~ 9 です。たとえば、bundle.pem_ic1 と指定します。 bundle は証明書セットの名前で、ic1 は証明書セット内の最初の中間証明書です。
  • [バンドル] オプションが選択されている。
  • このファイルには中間証明書が 9 つまで存在しません。

ファイルが解析され、サーバ証明書、中間証明書、およびサーバキー (存在する場合) が識別されます。まず、サーバ証明書とキーが追加されます。次に、中間証明書がファイルに追加された順序で追加され、それに応じてリンクされます。

次の条件のいずれかに当てはまる場合、エラーが報告されます。

  • アプライアンスには、中間証明書の 1 つの証明書ファイルがあります。
  • この鍵は、ファイル内のサーバ証明書の前に置かれます。
  • 中間証明書はサーバ証明書の前に置かれます。
  • 中間証明書は、作成時と同じ順序でファイル内に配置されません。
  • このファイルには証明書がありません。
  • 証明書が適切な PEM 形式ではありません。
  • ファイル内の中間証明書の数が 9 個を超えています。

CLI を使用して証明書セットを追加する

コマンドプロンプトで次のコマンドを入力して証明書セットを作成し、構成を確認します:

add ssl certKey <certkeyName> -cert <string> -key <string> -bundle (YES | NO) show ssl show ssl certlink

注:

NetScalerリリース14.1ビルド21.x以降、証明書とキーパラメーターのパスの長さが63文字から255文字に増えました。

次の例では、証明書セット (bundle.pem) に次のファイルが含まれています:

bundle_ic1 にリンクされたサーバー証明書 (バンドル)

bundle_ic2 にリンクされた最初の中間証明書 (bundle_ic1)

bundle_ic3 にリンクされた 2 つ目の中間証明書 (bundle_ic2)

3 番目の中間証明書 (bundle_ic3)

add ssl certKey bundletest -cert bundle9.pem -key bundle9.pem -bundle yes sh ssl certkey 1) Name: ns-server-certificate Cert Path: ns-server.cert Key Path: ns-server.key Format: PEM Status: Valid, Days to expiration:5733 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Server Certificate Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=default OULLFT Validity Not Before: Apr 21 15:56:16 2016 GMT Not After : Mar 3 06:30:56 2032 GMT Subject: C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=default OULLFT Public Key Algorithm: rsaEncryption Public Key size: 2048 2) Name: servercert Cert Path: complete/server/server_rsa_1024.pem Key Path: complete/server/server_rsa_1024.ky Format: PEM Status: Valid, Days to expiration:7150 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Server Certificate Version: 3 Serial Number: 1F Signature Algorithm: sha1WithRSAEncryption Issuer: C=IN,ST=KAR,O=Citrix R&D Pvt Ltd,CN=Citrix Validity Not Before: Sep 2 09:54:07 2008 GMT Not After : Jan 19 09:54:07 2036 GMT Subject: C=IN,ST=KAR,O=Citrix Pvt Ltd,CN=Citrix Public Key Algorithm: rsaEncryption Public Key size: 1024 3) Name: bundletest Cert Path: bundle9.pem Key Path: bundle9.pem Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Server Certificate Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA9 Validity Not Before: Nov 28 06:43:11 2014 GMT Not After : Nov 25 06:43:11 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=Server9 Public Key Algorithm: rsaEncryption Public Key size: 2048 4) Name: bundletest_ic1 Cert Path: bundle9.pem_ic1 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA8 Validity Not Before: Nov 28 06:42:56 2014 GMT Not After : Nov 25 06:42:56 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA9 Public Key Algorithm: rsaEncryption Public Key size: 2048 5) Name: bundletest_ic2 Cert Path: bundle9.pem_ic2 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA7 Validity Not Before: Nov 28 06:42:55 2014 GMT Not After : Nov 25 06:42:55 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA8 Public Key Algorithm: rsaEncryption Public Key size: 2048 6) Name: bundletest_ic3 Cert Path: bundle9.pem_ic3 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA6 Validity Not Before: Nov 28 06:42:53 2014 GMT Not After : Nov 25 06:42:53 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA7 Public Key Algorithm: rsaEncryption Public Key size: 2048 7) Name: bundletest_ic4 Cert Path: bundle9.pem_ic4 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA5 Validity Not Before: Nov 28 06:42:51 2014 GMT Not After : Nov 25 06:42:51 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA6 Public Key Algorithm: rsaEncryption Public Key size: 2048 8) Name: bundletest_ic5 Cert Path: bundle9.pem_ic5 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA4 Validity Not Before: Nov 28 06:42:50 2014 GMT Not After : Nov 25 06:42:50 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA5 Public Key Algorithm: rsaEncryption Public Key size: 2048 9) Name: bundletest_ic6 Cert Path: bundle9.pem_ic6 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA3 Validity Not Before: Nov 28 06:42:48 2014 GMT Not After : Nov 25 06:42:48 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA4 Public Key Algorithm: rsaEncryption Public Key size: 2048 10) Name: bundletest_ic7 Cert Path: bundle9.pem_ic7 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA2 Validity Not Before: Nov 28 06:42:46 2014 GMT Not After : Nov 25 06:42:46 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA3 Public Key Algorithm: rsaEncryption Public Key size: 2048 11) Name: bundletest_ic8 Cert Path: bundle9.pem_ic8 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=ICA1 Validity Not Before: Nov 28 06:42:45 2014 GMT Not After : Nov 25 06:42:45 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA2 Public Key Algorithm: rsaEncryption Public Key size: 2048 12) Name: bundletest_ic9 Cert Path: bundle9.pem_ic9 Format: PEM Status: Valid, Days to expiration:3078 Certificate Expiry Monitor: ENABLED Expiry Notification period: 30 days Certificate Type: Intermediate CA Version: 3 Serial Number: 01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN,ST=ka,O=sslteam,CN=RootCA4096 Validity Not Before: Nov 28 06:42:43 2014 GMT Not After : Nov 25 06:42:43 2024 GMT Subject: C=IN,ST=ka,O=sslteam,CN=ICA1 Public Key Algorithm: rsaEncryption Public Key size: 2048 Done sh ssl certlink 1) Cert Name: bundletest CA Cert Name: bundletest_ic1 2) Cert Name: bundletest_ic1 CA Cert Name: bundletest_ic2 3) Cert Name: bundletest_ic2 CA Cert Name: bundletest_ic3 4) Cert Name: bundletest_ic3 CA Cert Name: bundletest_ic4 5) Cert Name: bundletest_ic4 CA Cert Name: bundletest_ic5 6) Cert Name: bundletest_ic5 CA Cert Name: bundletest_ic6 7) Cert Name: bundletest_ic6 CA Cert Name: bundletest_ic7 8) Cert Name: bundletest_ic7 CA Cert Name: bundletest_ic8 9) Cert Name: bundletest_ic8 CA Cert Name: bundletest_ic9 Done

GUI を使用して証明書セットを追加する

  1. [ トラフィック管理 ] > [ SSL ] > [ 証明書 ] > [ CA 証明書] に移動します。
  2. 詳細ペインで、[ インストール] をクリックします。
  3. [ 証明書のインストール ] ダイアログボックスで、証明書やキーファイル名などの詳細を入力し、[ 証明書バンドル] を選択します。
  4. [ インストール] をクリックし、[ 閉じる] をクリックします。

証明書リンクの自動化

注: この機能は、リリース 13.0 ビルド 47.x から利用できます。

ルート証明書に至るまで、証明書をその発行者に手動でリンクする必要がなくなりました。中間 CA 証明書とルート証明書がアプライアンスに存在する場合は、エンドユーザ証明書の [ リンク (Link)] ボタンをクリックできます。

[証明書のリンク] ボタン

ポテンシャルチェーンが表示されます。

[ 証明書をリンク ] をクリックして、すべての証明書をリンクします。

証明書のチェーンを作成する

証明書のセット (1 つのファイル) を使用する代わりに、証明書のチェーンを作成できます。チェーンはサーバー証明書をその発行者 (中間 CA) にリンクします。この方法では、中間 CA 証明書ファイルが ADC アプライアンスにインストールされ、クライアントアプリケーションがチェーン内の証明書の 1 つを信頼する必要があります。たとえば、Cert-Intermediate-A を Cert-Intermediate-B にリンクします。ここで、Cert-Intermediate-B は、クライアントアプリケーションによって信頼される証明書である Cert-Intermediate-C にリンクされます。

注: アプライアンスは、クライアントに送信される証明書のチェーン内で最大 10 個の証明書(1 つのサーバ証明書と 9 つの CA 証明書)の送信をサポートします。

CLI を使用して証明書チェーンを作成する

コマンドプロンプトで次のコマンドを入力して証明書チェーンを作成し、構成を確認します。(チェーン内の新しいリンクごとに 1 つ目のコマンドを繰り返します)。

link ssl certkey <certKeyName> <linkCertKeyName> show ssl certlink

例:

link ssl certkey siteAcertkey CAcertkey Done show ssl certlink linked certificate: 1) Cert Name: siteAcertkey CA Cert Name: CAcertkey Done

GUI を使用して証明書チェーンを作成する

  1. [ トラフィック管理 ] > [ SSL ] > [ 証明書] に移動します。
  2. サーバー証明書を選択し、[ アクション ]リストで[ リンク]を選択し、CA 証明書名を指定します。

SSL 証明書バンドルのサポート

証明書バンドルの現在の設計には、次のような欠点があります。

  • 証明書バンドルを追加すると、設定に複数のコマンドが追加されます。したがって、2 つのバンドルが共通の中間証明書を共有している場合は、別の証明書バンドルを追加することはできません。
  • 証明書バンドルの削除は手動のプロセスです。ファイルは特定の順序で手動で削除する必要があります。
  • 証明書バンドルの更新はサポートされていません。
  • クラスタはサポートされていません。

証明書バンドルの新しい設計により、これらの問題がすべて解決されます。新しいエンティティは証明書バンドルファイルで動作します。したがって、中間証明書ごとにファイルを作成する必要はありません。この新しいエンティティを使用すると、削除も簡単です。

2 つの証明書バンドルで、中間証明書チェーンの一部を共有できます。証明書バンドルの一部でもある同じサーバ証明書とキーを使用して、証明書とキーのペアを追加することもできます。

注:

NetScalerリリース14.1ビルド21.x以降、次のコマンドの証明書とキーパラメーターのパスの長さが63文字から255文字に増加しました。

-  add ssl certKeyBundle
-  update ssl certKeyBundle

次の例では、次のようになります:

  1. 証明書バンドル bundle1.pem には、サーバ証明書 (S1) と中間証明書 (IC1 および IC2) が含まれています。
  2. サーバー証明書は server_cert.pem (S1) です。
  3. 中間証明書は ic1.pem (IC1) と ic2.pem (IC2) です。

S1、IC1、IC2 を含む証明書バンドルを追加できます。

add ssl certkeybundle b1 -bundlefile bundle1.pem

S1 と IC1 を使用して証明書とキーのペアを追加することもできます。

add ssl certkey server-cert -cert server_cert.pem

add ssl certkey ic1 -cert ic1.pem

重要:

  • 次の順序が満たされない場合、バンドルの作成は失敗します。
    • サーバー証明書 (SC) はバンドルファイルの先頭に配置する必要があります。
    • IC[1-9]は中間証明書です。IC[i]IC[i+1]によって発行されます。証明書は順番に配置し、すべての中間証明書がバンドル内に存在する必要があります。
  • 証明書は PEM 形式のみである必要があります。
  • サーバー証明書キー (SCK) はバンドルの任意の場所に配置できます。
  • 最大 9 個の中間証明書がサポートされます。

CLI を使用して証明書バンドルを追加するには

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

add ssl certKeyBundle <bundle_name> -bundlefile <bundle_file_name> -passplain <>

例:

add ssl certkeyBundle cert_bundle -bundlefile bundle_4096.pem

GUI を使用して証明書バンドルを追加するには

  1. [ トラフィック管理] > [SSL] > [証明書キーバンドル] に移動します。
  2. [Install]をクリックします。
  3. バンドルの名前を指定し、アプライアンスまたはローカルコンピュータ上のバンドルの場所を参照して、ファイルを選択します。
  4. [Create] をクリックします。

CLI を使用して証明書バンドルを更新するには

注:

update コマンドは、リリース 14.1 ビルド 12.x 以降で使用できます。

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

update ssl certKeyBundle [-bundlefile <input_filename>]

例:

update ssl certKeyBundle cert_bundle -bundlefile bundle_4096_updated.pem

GUI を使用して証明書バンドルを更新するには

  1. [ トラフィック管理] > [SSL] > [証明書キーバンドル] に移動します。
  2. バンドルを選択し、「 更新」をクリックします。
  3. アプライアンスまたはローカルコンピュータ上のバンドルの場所を参照し、ファイルを選択します。
  4. [OK] をクリックします。

CLI を使用して証明書バンドルを削除するには

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

rm ssl certKeyBundle <bundle_name>

例:

rm ssl certkeybundle cert_bundle

GUI を使用して証明書バンドルを削除するには

  1. [ トラフィック管理] > [SSL] > [証明書キーバンドル] に移動します。
  2. バンドルを選択し、「 削除」をクリックします。
  3. 確認ダイアログボックスで、「 はい」をクリックします。

CLI を使用して証明書バンドルを SSL 仮想サーバーにバインドするには

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

bind ssl vserver <vip-name> -certkeybundleName <certkeybundle_name> [ -SNICertkeybundle]

例:

bind ssl vserver v_server -certkeyBundleName cert_bundle show ssl certkeyBundle cert_bundle 1) Name: cert_bundle Bundle path: bundle_4096.pem Certificate: Status: Valid, Days to expiration:278 Serial Number: 83 Subject: C=IN,ST=KAR,O=CITRIX,CN=4096.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=ia24096.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:17:57 2021 GMT Not After : Jul 13 10:17:57 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 82 Subject: C=IN,ST=KAR,O=CITRIX,CN=ia24096.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=ia14098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:15:37 2021 GMT Not After : Jul 13 10:15:37 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 81 Subject: C=IN,ST=KAR,O=CITRIX,CN=ia14098.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:13:20 2021 GMT Not After : Jul 13 10:13:20 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 00 Subject: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:10:23 2021 GMT Not After : Jul 13 10:10:23 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 2048 SAN ENTRIES: None 1) Vserver Name: v_server

GUI を使用して証明書バンドルを SSL 仮想サーバーにバインドするには

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. SSL 仮想サーバーを選択し、[ 編集] をクリックします。
  3. 負荷分散仮想サーバーページの証明書 」セクションで、「 バンドル証明書」をクリックします。
  4. 証明書キーバンドルのバインディング 」ページで、次のいずれかを実行します:

    1. バンドルの選択:右矢印 (>) をクリックし、バンドルを選択します。[Select] をクリックします。
    2. バンドルを追加:「 追加」をクリックします。アプライアンスまたはローカルコンピュータ上のバンドルの場所を参照し、「 作成」をクリックします。
  5. [Bind] をクリックします。

CLI を使用して証明書バンドルを SNI 証明書バンドルとして SSL 仮想サーバーにバインドするには

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

bind ssl vserver <vip-name> -certkeybundleName b2 -SNICertkeybundle

例:

bind ssl vserver v_server -certkeyBundleName cert_bundle -sniCertkeybundle sh ssl certkeybundle cert_bundle 1) Name: cert_bundle Bundle path: bundle_4096.pem Certificate: Status: Valid, Days to expiration:278 Serial Number: 83 Subject: C=IN,ST=KAR,O=CITRIX,CN=4096.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=ia24096.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:17:57 2021 GMT Not After : Jul 13 10:17:57 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 82 Subject: C=IN,ST=KAR,O=CITRIX,CN=ia24096.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=ia14098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:15:37 2021 GMT Not After : Jul 13 10:15:37 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 81 Subject: C=IN,ST=KAR,O=CITRIX,CN=ia14098.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:13:20 2021 GMT Not After : Jul 13 10:13:20 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 4096 SAN ENTRIES: None CA Certificate: Status: Valid, Days to expiration:278 Serial Number: 00 Subject: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Issuer: C=IN,ST=KAR,O=CITRIX,CN=root4098.com Signature Algorithm: sha256WithRSAEncryption Validity Not Before: Jul 13 10:10:23 2021 GMT Not After : Jul 13 10:10:23 2022 GMT Public Key Algorithm: rsaEncryption Public Key size: 2048 SAN ENTRIES: None 1) Vserver Name: v_server 2) Vserver Name: v_server

GUI を使用して証明書バンドルを SNI 証明書バンドルとして SSL 仮想サーバーにバインドするには

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. SSL 仮想サーバーを選択し、[ 編集] をクリックします。
  3. 証明書 」セクションで、「 バンドル証明書」をクリックします。
  4. 証明書キーバンドルのバインディング 」ページで、次のいずれかを実行します:
    1. バンドルの選択:右矢印 (「>」) をクリックし、リストからバンドルを選択します。[Select] をクリックします。
    2. バンドルを追加:「 追加」をクリックします。アプライアンスまたはローカルコンピュータ上のバンドルの場所を参照し、「 作成」をクリックします。
  5. SnicertKeyバンドルを選択してください。
  6. [Bind] をクリックします。

CLI を使用して SSL 仮想サーバーから証明書バンドルをバインド解除するには

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

unbind ssl vserver <vip-name> -certkeybundleName <certkeybundle_name> [ -SNICertkeybundle]

例:

unbind ssl vserver v_server -certkeybundleName cert_bundle

GUI を使用して SSL 仮想サーバーから証明書バンドルをバインド解除するには

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. SSL 仮想サーバーを選択し、[ 編集] をクリックします。
  3. 証明書 」セクションで、「 バンドル証明書」をクリックします。
  4. SSL 仮想サーバー証明書バンドルのバインドページで、バンドルを選択し、「バインド解除」をクリックします。
  5. 確認ダイアログボックスで、「 はい」をクリックします。
  6. [閉じる] をクリックします。
  7. [完了] をクリックします。

証明書バンドルバインドのユーザーシナリオ

次のシナリオでは、ADC アプライアンスが証明書バンドルに関連する要求を処理する方法を説明します。

シナリオ 1: 証明書とキーのペアと、同じサーバー証明書を含む証明書バンドルが同じ SSL 仮想サーバーにバインドされている

証明書とキーのペアと、同じサーバ証明書を含む証明書バンドルを同じ SSL 仮想サーバにバインドする場合、コマンドの順序によって最終的なバインドが決まります。

例:

  • 証明書バンドル bundle1.pem には、サーバ証明書 S1 と中間証明書 IC1 および IC2 が含まれています。
  • 証明書ファイル server_cert.pem には S1 が含まれています。

bundle1.pem と server_cert.pem はどちらも同じサーバー証明書 S1 を持っています。

次のコマンドを指定された順序で実行すると、SSL 仮想サーバーにバインドされているサーバー証明書が、その仮想サーバーにバインドされている証明書バンドルに置き換えられます。

  1. add ssl certkeybundle b1 -bundlefile bundle1.pem
  2. add ssl certkey server_cert -cert server_cert.pem
  3. bind ssl vserver v1 -certkeybundle b1
  4. bind ssl vserver v1 -cert server_cert

シナリオ 2:2 つの証明書バンドルに同じ中間証明書チェーンが含まれている

同じ中間証明書チェーンを持つ 2 つの証明書バンドルを追加できます。2 つのバンドルは独立したエンティティとして機能します。

次の例では、証明書バンドル 1 にはサーバ証明書 S1 と中間証明書 IC1 と IC2 がこの順序で含まれています。証明書バンドル-2 には、サーバ証明書 S2 と、中間証明書 IC1 および IC2 がこの順序で含まれています。

  • 証明書バンドル bundle1.pem (S1、IC1、IC2)
  • 証明書バンドル bundle2.pem (S2、IC1、IC2)

SSL ハンドシェイクプロセスで bundle-1 の S1 が選択されると、bundle-1 の中間証明書チェーンがクライアントに送信されます。

add ssl certkeybundle bundle-1 -bundlefile bundle1.pem add ssl certkeybundle bundle-2 -bundlefile bundle2.pem

シナリオ 2:2 つの証明書バンドルに、チェーン内に共通の中間証明書がいくつか含まれている

いくつかの一般的な中間証明書を含む 2 つの証明書バンドルをチェーンに追加できます。

次の例では、bundle-1 にはサーバ証明書 S1 と中間証明書 IC1 と IC2 が含まれています。証明書バンドル 2 には、サーバ証明書 S2 と中間証明書 IC1、IC2、および IC3 が含まれています。

証明書バンドル bundle1.pem (S1、IC1、IC2) 証明書バンドル 2.pem (S2、IC1、IC2、IC3)

add ssl certkeybundle bundle-1 -bundlefile bundle1.pem add ssl certkeybundle bundle-2 -bundlefile bundle2.pem

SSL ハンドシェイクプロセスで bundle-1 の S1 が選択されると、bundle-1 の中間証明書チェーンがクライアントに送信されます。つまり、 (S1→IC1→IC2) がクライアントに送信されます。IC3 は追加されません。

SSL ハンドシェイクプロセスで bundle-2 の S2 を選択すると、bundle-2 の中間証明書チェーンはクライアントにのみ送信されます。つまり、 (S1→IC1→IC2→IC3) がクライアントに送信されます。

証明書バンドルの制限事項

  • 証明書バンドル内の証明書のステータスの監視はサポートされていません。
  • 証明書バンドルは SSL 仮想サーバにのみバインドできます。
  • OCSP ホチキス止めはサポートされていません。

更新操作は、リリース14.1ビルド12.xの証明書バンドルでサポートされています。証明書バンドルを直接更新できるようになりました。以前は、最初にバンドルをバインド解除して削除し、次に証明書バンドルを追加してバインドする必要がありました。

既存のサーバー証明書を更新する

既存のサーバ証明書を手動で変更するには、次の手順を実行する必要があります。

  1. 仮想サーバから古い証明書のバインドを解除します。
  2. 証明書をアプライアンスから削除します。
  3. 新しい証明書をアプライアンスに追加します。
  4. 新しい証明書を仮想サーバにバインドします。

証明書とキーのペアを置き換える際のダウンタイムを短縮するために、既存の証明書を更新できます。証明書を別のドメインに発行された証明書に置き換える場合は、証明書を更新する前にドメインチェックを無効にする必要があります。

有効期限が切れる証明書に関する通知を受け取るには、有効期限モニターを有効にします。

構成済みの SSL 仮想サーバーまたはサービスから証明書を削除またはバインド解除すると、その仮想サーバーまたはサービスは非アクティブになります。新しい有効な証明書がバインドされると、アクティブになります。ダウンタイムを減らすために、更新機能を使用して、SSL 仮想サーバーまたは SSL サービスにバインドされている証明書とキーのペアを置き換えることができます。

NetScalerアプライアンスでSSL証明書を更新する方法の概要図。

Overview

注:

NetScalerリリース14.1ビルド21.x以降、証明書とキーパラメーターのパスの長さが63文字から255文字に増加しました。

既存の証明書を更新する方法

CLI を使用して既存の証明書とキーペアを更新する

コマンドプロンプトで次のコマンドを入力して、既存の証明書とキーのペアを更新し、構成を確認します。

update ssl certkey <certkeyName> -cert <string> -key <string> show ssl certKey <certkeyName>

例:

update ssl certkey siteAcertkey -cert /nsconfig/ssl/cert.pem -key /nsconfig/ssl/pkey.pem Done show ssl certkey siteAcertkey Name: siteAcertkey Status: Valid Version: 3 Serial Number: 02 Signature Algorithm: md5WithRSAEncryption Issuer: /C=US/ST=CA/L=Santa Clara/O=siteA/OU=Tech Validity Not Before: Nov 11 14:58:18 2001 GMT Not After: Aug 7 14:58:18 2004 GMT Subject: /C=US/ST-CA/L=San Jose/O=CA/OU=Security Public Key Algorithm: rsaEncryption Public Key size: 2048 Done

GUI を使用して既存の証明書とキーのペアを更新する

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

  2. 更新する証明書を選択し、[ Update] をクリックします。 サーバー証明書を更新する

  3. [ 証明書とキーを更新] を選択します。

    サーバー証明書とキーを更新する

  4. [ 証明書ファイル名] で、[ ファイルの選択 ] > [ ローカル] をクリックし、更新された.pfx ファイルまたは証明書 PEM ファイルを参照します。 ファイルへ移動

    • .pfx ファイルをアップロードすると、.pfx ファイルのパスワードを指定するよう求められます。

    • 証明書 pem ファイルをアップロードする場合は、証明書キーファイルもアップロードする必要があります。キーが暗号化されている場合は、暗号化パスワードを指定する必要があります。

  5. 新しい証明書の共通名が古い証明書と一致しない場合は、[ No Domain Check] を選択します。

  6. [OK] をクリックします。この証明書がバインドされているすべての SSL 仮想サーバーは自動的に更新されます。 「OK」をクリックします。

  7. 証明書を置き換えた後、証明書リンクを新しい中間証明書に更新しなければならない場合があります。リンクを壊さずに中間証明書を更新する方法の詳細については、「 リンクを壊さずに中間証明書を更新する」を参照してください。

    • 更新された証明書を右クリックし、[証明書リンク] をクリックして、中間証明書にリンクされているかどうかを確認します。

    • 証明書がリンクされていない場合は、更新された証明書を右クリックし、[ リンク ] をクリックして中間証明書にリンクします。リンクするオプションが表示されない場合は、まず、新しい中間証明書をアプライアンスの [ CA Certificates ] ノードにインストールする必要があります。

    中間証明書リンクの更新

既存の CA 証明書を更新する

既存の CA 証明書を更新する手順は、既存のサーバ証明書を更新する手順と同じです。唯一の違いは、CA 証明書の場合、キーは必要ないということです。

CA 証明書を更新する

ドメインチェックを無効にする

アプライアンスで SSL 証明書が置き換えられる場合、新しい証明書に記載されているドメイン名は、置き換えられる証明書のドメイン名と一致する必要があります。たとえば、abc.com に発行された証明書があり、def.com に発行された証明書で更新すると、証明書の更新は失敗します。

ただし、特定のドメインをホストしていたサーバーで新しいドメインをホストする場合は、証明書を更新する前にドメインチェックを無効にします。

CLI を使用して証明書のドメインチェックを無効にする

コマンドプロンプトで次のコマンドを入力して、ドメインチェックを無効にし、構成を確認します。

update ssl certKey <certkeyName> -noDomainCheck show ssl certKey <certkeyName>

例:

update ssl certKey sv -noDomainCheck Done show ssl certkey sv Name: sv Cert Path: /nsconfig/ssl/complete/server/server_rsa_512.pem Key Path: /nsconfig/ssl/complete/server/server_rsa_512.ky Format: PEM Status: Valid, Days to expiration:9349 Certificate Expiry Monitor: DISABLED Done

GUI を使用して証明書のドメインチェックを無効にする

  1. [ トラフィック管理] > [SSL] > [証明書] に移動し、証明書を選択して [ 更新] をクリックします。
  2. [ ドメインチェックなし] を選択します。

ADC アプライアンスのデフォルト証明書を、アプライアンスのホスト名と一致する信頼できる CA 証明書に置き換えます

次の手順では、デフォルトの証明書 (ns-server-certificate) が内部サービスにバインドされていることを前提としています。

  1. トラフィック管理 > SSL > SSL 証明書 > 証明書要求の作成に移動します
  2. [共通名] に、test.citrixadc.comと入力します。
  3. CSR を信頼できる認証局に送信します。
  4. 信頼できる CA から証明書を受け取ったら、このファイルを/nsconfig/sslディレクトリにコピーします。
  5. [ トラフィック管理] > [SSL] > [証明書] > [サーバー証明書] に移動します。
  6. デフォルトのサーバ証明書 (ns-server-certificate) を選択し、[ Update] をクリックします。
  7. [ 証明書の更新 ] ダイアログボックスの [ 証明書ファイル名] で、署名後に CA から受け取った証明書を参照します。
  8. [ Key File Name ] フィールドで、デフォルトのプライベートキーファイル名 (ns-server.key) を指定します。
  9. [ ドメインチェックなし] を選択します。
  10. [OK] をクリックします。

有効期限モニターを有効にする

SSL 証明書は一定期間有効です。一般的な展開には、SSL トランザクションを処理する複数の仮想サーバーが含まれ、それらにバインドされた証明書は異なる時間に期限切れになる可能性があります。アプライアンスに設定された有効期限モニタは、設定された証明書の有効期限が切れると、アプライアンスの syslog および ns 監査ログにエントリを作成します。

証明書の期限切れに関する SNMP アラートを作成する場合は、別途設定する必要があります。

CLI を使用して証明書の有効期限モニターを有効にする

コマンドプロンプトで次のコマンドを入力して、証明書の有効期限モニターを有効にし、構成を確認します。

set ssl certKey <certkeyName> [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]] show ssl certKey <certkeyName>

例:

set ssl certKey sv -expiryMonitor ENABLED –notificationPeriod 60 Done

GUI を使用して証明書の有効期限モニターを有効にする

  1. [ トラフィック管理] > [SSL] > [証明書] に移動し、証明書を選択して [ 更新] をクリックします。
  2. [ 有効期限が切れたら通知する] を選択し、必要に応じて通知期間を指定します。

リンクを解除せずに中間証明書を更新する

既存のリンクを壊すことなく中間証明書を更新できます。置き換えられる証明書によって発行されたリンクされた証明書の AuthorityKeyIdentifier 拡張には、認証局証明書のシリアル番号 (‘authorityCertSerialNumber’) フィールドを含めないでください。「AuthorityKeyIdentifier」拡張にシリアル番号フィールドが含まれる場合、古い証明書と新しい証明書のシリアル番号が同じである必要があります。上記の条件が満たされれば、リンク内の証明書をいくつでも 1 つずつ更新できます。以前は、中間証明書が更新されるとリンクが壊れました。

たとえばCertACertBCertCCertDの 4 つの証明書があります 。 証明書CertACertBの発行者 、CertBCertCの発行者、などです。リンクを解除せずに中間証明書CertBCertB_newに置き換える場合は、次の条件を満たす必要があります。

次の両方の条件が満たされる場合、CertBの証明書シリアル番号はCertB_newの証明書シリアル番号と一致する必要があります。

  • AuthorityKeyIdentifier拡張子はCertCにあります。
  • この拡張機能にはシリアル番号フィールドが含まれます。

証明書内の共通名が変更された場合は、証明書の更新中にnodomaincheckを指定します。

前述の例では、CertDの「www.example.com」を「*.example.com」に変更するには、「ドメインチェックなし」パラメータを選択します。

CLI を使用して証明書を更新する

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

update ssl certKey <certkeyName> -cert <string> [-password] -key <string> [-noDomainCheck]

例:

update ssl certkey siteAcertkey -cert /nsconfig/ssl/cert.pem -key /nsconfig/ssl/pkey.pem -noDomainCheck

証明書チェーンを表示する

証明書には、発行機関の名前と、証明書が発行されたサブジェクトが含まれます。証明書を検証するには、その証明書の発行者を調べて、その発行者を信頼しているかどうかを確認する必要があります。発行者を信頼できない場合は、発行者証明書の発行者を確認する必要があります。ルート CA 証明書または信頼できる発行者に到達するまで、チェーンを上に移動します。

SSL ハンドシェイクの一環として、クライアントが証明書を要求すると、アプライアンスは証明書と、アプライアンスに存在する発行者証明書のチェーンを提示します。管理者は、アプライアンスに存在する証明書の証明書チェーンを表示し、不足している証明書をインストールできます。

CLI を使用して、アプライアンスに存在する証明書の証明書チェーンを表示する

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

show ssl certchain <cert_name>

c1、c2、および c3 の 3 つの証明書があります。証明書 c3 はルート CA 証明書で、c2 に署名し、c2 は c1 に署名します。次の例は、さまざまなシナリオでの show ssl certchain c1 コマンドの出力を示しています。

シナリオ 1:

証明書 c2 は c1 にリンクされ、c3 は c2 にリンクされています。

証明書 c3 はルート CA 証明書です。

次のコマンドを実行すると、ルート CA 証明書までの証明書リンクが表示されます。

show ssl certchain c1 Certificate chain details of certificate name c1 are: 1) Certificate name: c2 linked; not a root certificate 2) Certificate name: c3 linked; root certificate Done

シナリオ 2:

証明書 c2 は c1 にリンクされています。

証明書 c2 はルート CA 証明書ではありません。

次のコマンドを実行すると、証明書 c3 はルート CA 証明書であるが、c2 にリンクされていないという情報が表示されます。

show ssl certchain c1 Certificate chain details of certificate name c1 are: 1) Certificate Name: c2 linked; not a root certificate 2) Certificate Name: c3 not linked; root certificate Done

シナリオ 3:

証明書 c1、c2、および c3 はリンクされていませんが、アプライアンス上に存在します。

次のコマンドを実行すると、証明書 c1 の発行元から始まるすべての証明書に関する情報が表示されます。また、証明書がリンクされていないことも指定されています。

show ssl certchain c1 Certificate chain details of certificate name c1 are: 1) Certificate Name: c2 not linked; not a root certificate 2) Certificate Name: c3 not linked; root certificate Done

シナリオ 4:

証明書 c2 は c1 にリンクされています。

証明書 c3 はアプライアンスに存在しません。

次のコマンドを実行すると、c1 にリンクされた証明書に関する情報が表示されます。c2 で指定したサブジェクト名の証明書を追加するよう求められます。この場合、ユーザーはルート CA 証明書 c3 を追加するように求められます。

show ssl certchain c1 Certificate chain details of certificate name c1 are: 1) Certificate Name: c2 linked; not a root certificate 2) Certificate Name: /C=IN/ST=ka/O=netscaler/CN=test Action: Add a certificate with this subject name. Done

シナリオ 5:

証明書が証明書 c1 にリンクされておらず、c1 の発行者証明書がアプライアンスに存在しません。

次のコマンドを実行すると、証明書 c1 にサブジェクト名を持つ証明書を追加するよう求められます。

sh ssl certchain c1 Certificate chain details of certificate name c1 are: 1) Certificate Name: /ST=KA/C=IN Action: Add a certificate with this subject name.
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。