TLS認証によるセキュアな通信
TLS認証を設定して、Secure AgentとREST API over TLSとの間に一方向または双方向のセキュアな通信を確立します。
一方向のセキュアな通信を確立するには、次の手順を実行します。
- 1トラストストアを生成します。手順の詳細については、「トラストストアの生成」を参照してください。
- 2REST V2接続を一方向SSL用に設定します。トラストストアファイルとトラストストアパスワードは、接続で指定するか、Secure AgentのJVMオプションで設定することができます。
双方向のセキュアな通信を確立するには、まず一方向のセキュアな通信を設定してから、次の手順を実行する必要があります。
- 1キーストアを生成します。手順の詳細については、「キーストアの生成」を参照してください。
- 2REST V2接続を双方向SSL用に設定します。キーストアファイルとキーストアパスワードは、接続で指定するか、Secure AgentのJVMオプションで設定することができます。
接続とJVMオプションでキーストアとトラストストアのプロパティを指定すると、Secure Agentでは接続で設定されたプロパティに基づいて証明書が処理されます。
トラストストアの生成
トラストストアを生成するには、サーバー証明書が必要です。サーバー証明書を取得し、次の手順を実行してトラストストアを生成します。
- 1サーバー証明書を、Secure Agentインストール内で使用可能な次のいずれかのディレクトリにインポートします。
- - <Secure Agentのインストールディレクトリ>\jdk\jre\lib\security\cacerts
- - <Secure Agentのインストールディレクトリ>\jdk8\jre\lib\security\cacerts
- 2トラストストアを生成するには、コマンドラインから次のコマンドを実行します。
keytool -importcert -alias <エイリアス名をここで指定します> -file <サーバー証明書をここで指定します> -keystore <生成するカスタムトラストストアの名前を指定します> -storepass <カスタムトラストストアのパスワードを指定します>
例: keytool -importcert -alias RESTV2CACert -file ca.pem -keystore sampletruststore -storepass JKSTrustStorePassword
この例では、sampletruststoreという名前とJKSTrustStorePasswordというパスワードでトラストストアファイルが生成されます。
キーストアの生成
キーストアを生成するには、クライアント証明書とクライアントシークレットキーが必要です。クライアント証明書とクライアントシークレットキーを取得し、次の手順を実行してキーストアを生成します。
- 1サーバー証明書を、Secure Agentインストール内で使用可能な次のいずれかのディレクトリにインポートします。
- - <Secure Agentのインストールディレクトリ>\jdk\jre\lib\security\cacerts
- - <Secure Agentのインストールディレクトリ>\jdk8\jre\lib\security\cacerts
- 2キーストアを生成するには、コマンドラインから次のコマンドを実行します。
openssl pkcs12 -export -in <ここでクライアント証明書を指定します> -inkey <ここでプライベートキーを指定します> -name "<ここに任意の名前を指定します>" -passout pass:<生成するキーストアのパスワードを指定します> -out <p12拡張子を使用してキーストアの名前を指定します>
例: openssl pkcs12 -export -in /home/samplefolder/certs/client-cert.pem -inkey /home/samplefolder/certs/client-key.pem -name "restclient" -passout pass:PKCSKeyStorePassword -out samplekeystore.p12
この例では、samplekeystore.p12はPKCS12形式で生成されます。
キーストアファイルを.p12形式から.jks形式に変換するには、コマンドラインから次のコマンドを実行します。
keytool -importkeystore -srckeystore <p12キーストアファイルの名前を指定します> -srcstoretype pkcs12 -srcstorepass <生成されたp12キーストアファイルのパスワードを指定します> -destkeystore <JKSキーストアファイルの名前を指定します> -deststoretype JKS -deststorepass <JKSキーストアファイルのパスワードを指定します>
注: -srcstorepassで指定されたパスワードは-deststorepassと同じである必要があります。
例: keytool -importkeystore -srckeystore samplekeystore.p12 -srcstoretype pkcs12 -srcstorepass PKCSKeyStorePassword -destkeystore keystore -deststoretype JKS -deststorepass PKCSKeyStorePassword
この例では、samplekeystoreという名前とPKCSKeyStorePasswordというパスワードでキーストアファイルが生成されます。
一方向または双方向のセキュアな通信の設定
接続は、一方向または双方向SSL用に設定できます。
一方向SSL用の接続の設定
接続プロパティの[トラストストアファイル名]フィールドと[トラストストアのパスワード]フィールドで、トラストファイルの名前とトラストストアのパスワードを指定することができます。または、Secure AgentプロパティのJVMオプションでトラストストアファイル名とトラストストアパスワードを設定することもできます。
- 1[管理] > [ランタイム環境]をクリックして、エージェントを選択します。
- 2[システム構成の詳細]の[タイプ]で[DTM]を選択します。
- 3次のJVMオプションを追加します。
- - JVMOption1=-Djavax.net.ssl.trustStore=<.jksトラストストアファイルの絶対パス>
- - JVMOption2=-Djavax.net.ssl.trustStorePassword=<トラストストアのパスワード>
双方向SSL用の接続の設定
接続プロパティ[キーストアファイル名]および[キーストアのパスワード]で、キーファイルの名前とキーストアのパスワードを指定することができます。または、Secure AgentプロパティのJVMオプションでキーストアファイルとキーストアパスワードを設定することもできます。
双方向のSSLを使用するには、最初に一方向SSLの手順を実行してから、次の手順を実行して双方向SSLを設定する必要があります。
- 1[管理] > [ランタイム環境]をクリックして、エージェントを選択します。
- 2[システム構成の詳細]の[タイプ]で[DTM]を選択します。
- 3次のJVMオプションを追加します。
- - JVMOption3=-Djavax.net.ssl.keyStore=<.jksキーストアファイルの絶対パス>
- - JVMOption4=-Djavax.net.ssl.keyStorePassword=<キーストアのパスワード>