次に、SSL を使用するように N1 Service Provisioning System 5.1 を構成するために必要な作業の概要を示します。
使用する SSL 接続を決定します。
詳細は、「N1 Service Provisioning System 5.1 での SSL サポートの概要」を参照してください。
crkeys コマンドを使用してキーストアを作成します。
「キーストアを作成する」を参照してください。
config.properties ファイルを編集して SSL を構成します。
「config.properties ファイルを編集して SSL を構成する」を参照してください。
N1 Service Provisioning System 5.1 は、JRE に付属のキーツールユーティリティを使用します。 このキーツールユーティリティは、ユーザーがキーストアを作成できるようにシェルスクリプト crkeys にラップされています。このスクリプトを使用してユーザーは、keytool ユーティリティに正しいパラメータを指定することができます。
キーストアを作成すると、自己署名付き証明書の X.509 識別名が次のように設定されます。
CN=application_name OU=Engineering O=Sun Microsystems Inc L=Menlo Park ST=CA C=US |
キーを生成します。
% crkeys -options |
使用する SSL 接続の種類にもとづいてキーストアを作成する場合、次のオプションを使用します。
証明書または鍵ペアの別名を指定します。アプリケーションのホスト名を別名として使用します。別名は、キーストア内で一意でなければなりません。
認証を実行しているマシンとの関係で認証されているマシンの場所を指定します。たとえば、ローカルディストリビュータからダウンストリームのリモートエージェントの証明書を生成しているとします。リモートエージェントのモードをダウンストリームに指定します。ローカルディストリビュータのモードをアップストリームに指定します。
キーストアとキーストア内のすべてのキーのパスワードを変更します。
エンティティを指定し、鍵のペアまたは証明書をキーストアから削除します。
プレーンテキストのパスワードを符号化されたパスワードに変換し、出力します。ファイルにパスワードを格納する予定の場合は、符号化されたパスワードを作成します。たとえば、 config.properties ファイルにキーストアパスワードを格納することを選択した場合は、符号化されたパスワードを指定する必要があります。
エンティティを指定し、自己署名付き証明書を特定のファイルにエクスポートします。
証明書のインポート元またはエクスポート先となるファイルの名前を指定します。
別名を指定して新しい鍵ペアを生成します。
すべてのオプションを一覧で表示します。
このノードへの接続を許可されたエンティティの自己署名付き証明書をインポートします。証明書をインポートする際は、この証明書に記載されたノードのホスト名を別名として使用します。
鍵生成アルゴリズム。デフォルトは RSA です。RSA または DSA を指定できます。
キーサイズ。デフォルトは 1024 です。DSA 鍵の場合は 512 から 1024、RSA 鍵の場合は 512 から 2048 の範囲内の 64 の倍数を指定できます。
キーストアに格納されているすべてのエンティティを一覧で表示します。
キーストアとキーストア内のすべてのキーの新しいパスワードを指定します。パスワードの長さは、6 文字以上でなければなりません。
キーストアのパスワードを指定します。パスワードを指定しないと、ユーザーにパスワードの入力を求めるプロンプトが表示されます。パスワードの長さは、6 文字以上でなければなりません。
操作の対象として、プライベートキーストアを指定します。
自己署名付き証明書の有効期間を日数で指定します。
操作の対象としてトラストキーストアを指定します。
次に、crkeys コマンドの使用例を示します。
公開 / 非公開鍵ペアを生成するには、次を実行します。
crkeys -private –generate -mode {upstream|downstream} –alias application_hostname [-keyalg keyalg] [-keysize keysize] [-validity days_valid] [–password password] |
鍵ペアの自己署名付き公開鍵をファイルにエクスポートするには、次を実行します。
crkeys -private –export –file cert_file –alias application_hostname [–password password] |
前の例のようにしてエクスポートした自己署名付き公開鍵をトラストストアにインポートするには、次を実行します。
crkeys –trust –import –file cert_file –alias application_hostname [-password password] |
鍵または鍵ペアを削除するには、次を実行します。
crkeys {-private|–trust} -delete –alias application_hostname [-password password] |
すべての公開鍵を一覧表示するには、次を実行します。
crkeys {-private|–trust} –list [-password password] |
SSL キーストア (トラストキーストアとプライベートキーストア) のパスワードを変更するには、次を実行します。
crkeys –cpass -password oldpassword -new newpassword |
プレーンテキストのパスワードを符号化されたパスワードに変換し、出力するには、次を実行します。
crkeys -epass -password password |
crkeys コマンドの使用方法を出力するには、次を実行します。
crkeys -help |
インストール時に、各アプリケーションは次のように構成されます。
サーバー認証を要求する暗号群をサポートする
クライアント認証は要求しない
N1SPS5.1-home /app/data/private.store ファイルでプライベートキーストアを検索します。
N1SPS5.1-home /app/data/trust.store ファイルでトラストキーストアを検索します。
各キーストアに空のパスワードを渡す
アプリケーションごとに、次のセキュリティーチェックが行われるように SSL 構成を変更することができます。
各アプリケーションの暗号群を選択的に有効化します。
有効化する暗号群を明示的に指定できます。指定しない場合、リファレンス実装はデフォルトで有効になっている暗号群を使用します。リファレンス実装によって有効化されるデフォルトの暗号群は、サーバー認証を要求します。サポートされる暗号群については、「SSL 暗号群」を参照してください。
接続を求めてくる SSL クライアントをアプリケーションが認証するように指定します。
プライベートキーストアおよびトラストキーストアの場所とパスワードを指定します。
認証を有効にするには、アプリケーションをインストールしたあとでキーストアを初期化する必要があります。
(省略可能) config.properties ファイルを手動で編集し、SSL 構成を変更します。
次に、config.properties ファイル内の SSL 構成関連の設定を示します。使用する SSL 接続の種類に応じて、パラメータを変更してください。
パラメータ |
デフォルト値 |
説明 |
---|---|---|
net.ssl.cipher.suites |
SSL_RSA_WITH_3DES_EDE_CBC_SHA |
有効にする SSL 暗号群をコンマで区切って表示します。サポート対象の SSL 暗号群のリストは、「SSL 暗号群」を参照してください。 |
net.ssl.client.auth |
false |
SSL サーバーで、接続するクライアントを認証するかどうかを指定します。 |
net.ssl.key.store.pass |
|
キーストアのパスワード。場合に応じて要求されます。詳細については、以下を参照してください。 |
net.ssl.key.store.pass パラメータは、N1 Service Provisioning System 5.1 アプリケーションの SSL キーストアパスワードを指定します。このパラメータは、SSL キーストアを使用してアプリケーションを構成するが、アプリケーションの起動時にそのキーストアのパスワードを尋ねるプロンプトを表示させないようにする場合に使用してください。次のような場合には、このパラメータを指定する必要があります。
システムのブート時に自動的に起動するように N1 Service Provisioning System アプリケーションを設定する場合。
Windows サーバーでは、N1 Service Provisioning System アプリケーションはキーストアパスワードを求めるプロンプトを表示しません。このため、Windows サーバー上で SSL を使用するように構成されるアプリケーションはすべて、このパラメータを指定する必要があります。
CLI アプリケーションは、キーストアパスワードを求めるプロンプトを表示しません。このため、SSL を使用するように構成する CLI Client はすべてこのパラメータを指定する必要があります。
ローカルディストリビュータが SSH 経由でその親に接続される場合、ローカルディストリビュータはパスワードを求めるプロンプトを表示できません。