NetScaler ADCアプライアンスで証明書署名リクエストを作成してSSL証明書を使用します
証明書のインストール、リンク、更新については、「 証明書のインストール、リンク、および更新」を参照してください。
証明書を作成し、SSL 仮想サーバーにバインドするには、次の手順を実行します。
- プライベートキーを作成します。
- 証明書署名要求 (CSR) を作成します。
- CSR を認証局に提出します。
- 証明書とキーのペアを作成します。
- 証明書とキーのペアを SSL 仮想サーバーにバインドする
次の図は、このワークフローを示しています。
秘密キーの作成
秘密キーはデジタル証明書で最も重要な部分です。定義上、このキーは誰とも共有されるべきではなく、NetScaler ADCアプライアンス上で安全に保管する必要があります。公開鍵で暗号化されたデータは、秘密鍵を使用することによってのみ復号化できます。
CA から受け取った証明書は、CSR の作成に使用された秘密キーでのみ有効です。このキーは、証明書をNetScaler 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 秘密キーを作成する
-
[ トラフィック管理] > [SSL] > [SSL ファイル] に移動します。
-
「 SSL ファイル 」ページで、「 キー 」タブをクリックし、「 RSA キーの作成」を選択します。
-
次のパラメータに値を入力し、[ Create] をクリックします。
- Key Filename :RSA キーファイルの名前と、オプションで RSA キーファイルのパス。/nsconfig/ssl/ がデフォルトパスです。
- キーサイズ :RSA キーのサイズ(ビット単位)。範囲は 512 ビットから 4096 ビットです。
- 公開指数値 -RSA キーの公開指数。指数は暗号アルゴリズムの一部であり、RSA キーの作成に必要です。
- Key Format :RSAキー・ファイルがアプライアンスに保存される形式。
- PEM エンコードアルゴリズム -AES 256、DES、またはトリプル DES (DES3) アルゴリズムを使用して、生成された RSA キーを暗号化します。デフォルトでは、秘密鍵は暗号化されません。
- PEM Passphrase :秘密キーが暗号化されている場合は、キーのパスフレーズを入力します。
証明書署名要求を作成する
秘密鍵を使用して証明書署名リクエストを作成し、認証局に送信します。
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 を使用して証明書署名要求を作成する
- [ トラフィック管理 ] > [ SSL] に移動します。
- 「 SSL ファイル 」ページで、「 CSR 」タブをクリックし、「 証明書署名リクエスト (CSR) の作成」をクリックします。
-
次のパラメータの値を入力します。
-
リクエストファイル名 -証明書署名リクエスト (CSR) の名前と、オプションで証明書署名リクエスト (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 を認証局に提出する
ほとんどの認証局 (CA) は、電子メールによる証明書の提出を受け付けています。CA は、CSR の送信元の電子メールアドレスに有効な証明書を返します。
証明書とキーのペアを追加します
認証局から受け取った署名付き証明書をインストールします。
注: 証明書とキーは、デフォルトで /nsconfig/ssl ディレクトリに保存されます。証明書またはキーが他の場所に保存されている場合は、NetScalerアプライアンス上のファイルへの絶対パスを指定する必要があります。
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 を使用して証明書とキーのペアを追加する
- トラフィック管理 > SSL > 証明書 > サーバに移動します。
-
次のパラメータの値を入力し、[ 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 証明書とキーのペアを仮想サーバにバインドする
-
[ トラフィック管理] > [負荷分散] > [仮想サーバー ] に移動し、SSL 仮想サーバーを開きます。[ 証明書 ] セクション内をクリックします。
-
矢印をクリックして、証明書とキーのペアを選択します。
-
リストから証明書とキーのペアを選択します。
-
証明書とキーのペアを仮想サーバーにバインドします。
トラブルシューティング
以下は、2 つの一般的なエラーシナリオで、それぞれのソリューション記事へのリンクを示します。
-
NetScaler ADCアプライアンスに証明書とキーのペアをインストールするときに次のエラーが表示された場合は、https://support.citrix.com/article/CTX134233を参照してください。
エラー: 無効な秘密キー、または PEM パスフレーズがこの秘密キーに必要です。
-
NetScaler ADCアプライアンスにSSL証明書をインストールするときに次のエラーが表示された場合は、 https://support.citrix.com/article/CTX137887を参照してください。
エラー: 証明書が無効です。