SSLファイルのインポートと変換
リモートホストへの FTP アクセスが利用できない場合でも、証明書、秘密キー、CRL、DH キーなどの SSL リソースをリモートホストからインポートできるようになりました。この機能は、リモートホストへのシェルアクセスが制限されている環境で特に役立ちます。デフォルトフォルダは /nsconfig/ssl に次のように作成されます。
- 証明書ファイルの場合:/nsconfig/ssl/certfile
- プライベートキーの場合:/nsconfig/ssl/キーファイル
- CRL の場合:/var/netscaler/ssl/crlfile
- DH キーの場合:/nsconfig/ssl/dhfile
HTTP サーバーと HTTPS サーバーの両方からのインポートがサポートされます。ただし、ファイルがアクセスにクライアント証明書認証を必要とする HTTPS サーバー上にある場合、インポートは失敗します。
メモ:
- 再起動後にファイルを再インポートするとエラーが発生する可能性があるため、import コマンドは構成 (ns.conf) ファイルに保存されません。
- インポートするオブジェクトが、アクセスのためにクライアント証明書認証を必要とするHTTPSサーバー上にあり、HTTPSサーバーの発行者証明書がHTTPSサーバーを認証するためのNetScaler上の
/etc/ssl
ディレクトリに存在しない場合、インポートコマンドは失敗します。
証明書ファイルをインポートする
CLI と GUI を使用して、リモートホストからファイル (リソース) をインポートできます。
CLI を使用してリモートホストから証明書ファイルをインポートする
コマンドプロンプトで入力します:
import ssl certFile [<name>] [<src>]
<!--NeedCopy-->
例:
import ssl certfile my-certfile http://www.example.com/file_1
<!--NeedCopy-->
show ssl certfile
Name : my-certfile
URL : http://www.example.com/file_1
<!--NeedCopy-->
証明書ファイルを削除するには、’name’ rm ssl certFile
引数のみを受け入れるコマンドを使用します。
CLI を使用してリモートホストからキーファイルをインポートする
コマンドプロンプトで入力します:
import ssl keyFile [<name>] [<src>]
<!--NeedCopy-->
例:
import ssl keyfile my-keyfile http://www.example.com/key_file
<!--NeedCopy-->
show ssl keyfile
Name : my-keyfile
URL : http://www.example.com/key_file
<!--NeedCopy-->
キーファイルを削除するには、’name’ rm ssl keyFile
引数のみを受け入れるコマンドを使用します。
CLI を使用してリモートホストから CRL ファイルをインポートする
コマンドプロンプトで入力します:
import ssl crlFile [<name>] [<src>]
<!--NeedCopy-->
<name\ >CRL ファイルを削除するには、\ 引数のみを受け入れるrm ssl crlFile
コマンドを使用します。
例:
import ssl crlfile my-crlfile http://www.example.com/crl_file
show ssl crlfile
Name : my-crlfile
URL : http://www.example.com/crl_file
<!--NeedCopy-->
CLI を使用してリモートホストから DH ファイルをインポートする
コマンドプロンプトで入力します:
import ssl dhFile [<name>] [<src>]
<!--NeedCopy-->
例:
import ssl dhfile my-dhfile http://www.example.com/dh_file
show ssl dhfile
Name : my-dhfile
URL : http://www.example.com/dh_file
<!--NeedCopy-->
<name\ >DH ファイルを削除するには、\ 引数のみを受け入れるrm ssl dhFile
コマンドを使用します。
GUI を使用して SSL リソースをインポートする
[ トラフィック管理] > [SSL] > [インポート] に移動し、適切なタブを選択します。
PKCS #8 証明書と PKCS #12 証明書をインポートする
ネットワーク内の他の安全なサーバーやアプリケーションで既に持っている証明書やキーを使用する場合は、それらをエクスポートしてからNetScalerアプライアンスにインポートできます。エクスポートした証明書とキーをNetScalerアプライアンスにインポートする前に、それらを変換する必要がある場合があります。
ネットワーク内の安全なサーバーまたはアプリケーションから証明書をエクスポートする方法の詳細については、エクスポート元のサーバーまたはアプリケーションのマニュアルを参照してください。
注:
NetScalerアプライアンスにインストールする場合、キーと証明書の名前には、UNIXファイルシステムでサポートされている文字以外のスペースや特殊文字を含めることはできません。エクスポートしたキーと証明書を保存するときは、適切な命名規則に従ってください。
証明書と秘密鍵のペアは、通常 PKCS #12 形式で送信されます。アプライアンスは、証明書とキーの PEM 形式と DER 形式をサポートしています。PKCS #12 を PEM または DER に、または PEM または DER を PKCS #12 に変換するには、このページの後半にある「インポートまたはエクスポート用の SSL 証明書の変換」セクションを参照してください。
NetScalerアプライアンスは、PKCS #8 形式のPEMキーをサポートしていません。ただし、CLI または設定ユーティリティからアクセスできる OpenSSL インターフェイスを使用して、これらのキーをサポートされている形式に変換できます。キーを変換する前に、プライベートキーが PKCS #8 形式であることを確認する必要があります。PKCS #8 形式のキーは通常、次のテキストで始まります。
-----BEGIN ENCRYPTED PRIVATE KEY-----
leuSSZQZKgrgUQ==
-----END ENCRYPTED PRIVATE KEY-----
<!--NeedCopy-->
CLI から OpenSSL インターフェイスを開きます
- PuTTY などの SSH クライアントを使用して、アプライアンスへの SSH 接続を開きます。
- 管理者の資格情報を使用して、アプライアンスにログオンします。
- コマンドプロンプトで、shell と入力します。
- シェルプロンプトで、「
openssl
」と入力します。
GUI から OpenSSL インターフェイスを開きます
[ トラフィック管理] > [SSL ] に移動し、[ツール] グループで [ OpenSSL インターフェイス] を選択します。
OpenSSL インターフェイスを使用して、サポートされていない PKCS #8 キー形式を暗号化されたサポートされているキー形式に変換する
OpenSSL プロンプトで、サポートされていないキー形式が RSA または ECDSA のどちらであるかに応じて、次のいずれかのコマンドを入力します。
OpenSSL>rsa- in <PKCS#8 Key Filename> -des3 -out <encrypted Key Filename>
OpenSSL>ec -in <PKCS#8 Key Filename> -des3 -out <encrypted Key Filename>
<!--NeedCopy-->
サポートされていないキー形式をサポートされているキー形式に変換するためのパラメータ
- PKCS #8 キーファイル名: 互換性のない PKCS #8 プライベートキーの入力ファイル名。
- 暗号化鍵ファイル名: 互換性のある暗号化された秘密鍵のPEM形式の出力ファイル名。
- 暗号化されていない鍵ファイル名: 互換性のある暗号化されていない秘密鍵のPEM形式の出力ファイル名。
SSL 証明書をインポートまたはエクスポート用に変換
NetScalerアプライアンスは、SSL証明書のPEM形式とDER形式をサポートしています。クライアントブラウザや一部の外部セキュアサーバーなどの他のアプリケーションでは、さまざまな公開鍵暗号化標準 (PKCS) 形式が必要です。アプライアンスは、証明書をアプライアンスにインポートするために PKCS #12 形式を PEM または DER 形式に変換し、証明書をエクスポートするために PEM または DER を PKCS #12 に変換できます。セキュリティを高めるために、インポート用のファイルの変換には、DES または DES3 アルゴリズムによる秘密鍵の暗号化を含めることができます。
メモ:
- GUI を使用して PKCS #12 証明書をインポートし、パスワードにドル記号 ($)、逆引用符 (`)、またはエスケープ () 文字が含まれていると、インポートが失敗する可能性があります。その場合、「エラー:パスワードが無効です」というメッセージが表示されます。パスワードに特殊文字を使用する必要がある場合は、CLIを使用してすべてのインポートを実行しない限り、必ずエスケープ文字()の前にエスケープ文字()を付けてください。
NetScalerリリース14.1ビルド21.x以降、次のコマンドの証明書とキーパラメーターのパスの長さが63文字から255文字に増加しました:
- convert ssl pkcs12 - convert ssl pkcs8
CLI を使用して証明書の形式を変換する
コマンドプロンプトで、次のコマンドを入力します:
convert ssl pkcs12 <outfile> [-import [-pkcs12File <inputFilename>] [-des | -des3] [-export [-certFile <inputFilename>] [-keyFile <inputFilename>]]
<!--NeedCopy-->
操作中に、インポートパスワードまたはエクスポートパスワードの入力を求められます。暗号化されたファイルの場合は、パスフレーズの入力も求められます。
例:
convert ssl pkcs12 Cert-Import-1.pem -import -pkcs12File Cert-Import-1.pfx -des
convert ssl pkcs12 Cert-Client-1.pfx -export -certFile Cert-Client-1 -keyFile Key-Client-1
<!--NeedCopy-->
GUI を使用して証明書の形式を変換する
-
[ トラフィック管理] > [SSL ] に移動し、[ ツール ] グループで [ PKCS #12 のインポート] を選択します。
-
「 出力ファイル名」フィールドに PEM 証明書名を指定します 。
-
ローカルコンピュータまたはアプライアンス上の PFX 証明書の場所を参照します。
-
[OK] をクリックします。
-
[ 証明書の管理]/[キー]/[CSR ] をクリックして、変換された PEM ファイルを表示します。
-
アップロードされた PFX ファイルと変換された PEM ファイルを表示できます。
-
[ SSL ] > [ 証明書 ] > [ サーバー証明書 ] に移動し、[ インストール] をクリックします。
-
証明書とキーのペア名を指定します。
-
PEM ファイルの場所を参照します。
-
プロンプトが表示されたら、パスワードを指定します。
-
[Install]をクリックします。
-
証明書とキーのペアを SSL 仮想サーバーにバインドします。