Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerTLS 設定のサポートをモジュールに追加する方法は簡単です。次の例のように、種別 TlsContextFactory
の パラメーターを宣言するだけです。
@Parameter
@Optional
private TlsContextFactory tlsContextFactory;
上記の例では、次の XML 設定のサポートが自動的に生成されます。
<tls:context enabledProtocols="TLSv1.2,SSLv3">
<tls:trust-store path="my-trust-store.jks" password="myPassword"/>
<tls:key-store path="my-key-store.jks" keyPassword="myPassword" password="myPassword"/>
</tls:context>
TLS コンテキストをアプリケーションのグローバル要素として定義することもできるため、使用する必要がある任意の場所でその名前を使用して TLS コンテキストを参照できます。
TLS の必要性をユーザーに表示しない場合 (内部的にサービスに安全に接続する必要がある場合など)、そのビルダーを使用して独自の TlsContextFactory
を作成できます。
private final TlsContextFactory tlsContextFactory = TlsContextFactory.builder()
.trustStorePath("tls/trustStore")
.trustStorePassword("mulepassword")
.build()
このビルダーでは、TlsContextFactory
のデフォルトインスタンスを作成することもできます。
private final TlsContextFactory defaultTlsContextFactory = TlsContextFactory.builder().buildDefault();
TlsContextFactory
が使用可能になると (パラメーターとして使用可能か、そのビルダーを介して取得されたかに関係なく)、次の例のように初期化する必要があります。
if (tlsContextFactory instanceof Initialisable) {
((Initialisable) tlsContextFactory).initialise();
}
次に、これを使用して SSLContext
、SSLSocketFactory
、または SSLServerSocketFactory
を取得できます。また、有効になった TLS プロトコルと暗号化スイートを取得することもでき、これを使用して、以下の例のように、TLS/SSL を使用するほとんどの Java コンポーネントをセットアップできます。
FTPSClient をセットアップするには、 SSLContext を取得し、次にそのプロトコルと暗号化スイートを設定します。
SSLContext sslContext = tlsContextFactory.createSslContext();
String[] enabledProtocols = tlsContextFactory.getEnabledProtocols();
String[] enabledCiphers = tlsContextFactory.getEnabledCipherSuites();
FTPSClient client = new FTPSClient(sslContext);
client.setEnabledProtocols(enabledProtocols);
client.setEnabledCipherSuites(enabledCiphers);
SSLSocketFactory を取得して、独自の ソケットを作成することもできます。
SSLSocketFactory sslSocketFactory = tlsContextFactory.createSocketFactory();
Socket socket = sslSocketFactory.create();
ServerSocket を作成するには、SSLServerSocketFactory を取得することもできます。
SSLServerSocketFactory sslServerSocketFactory = tlsContextFactory.createServerSocketFactory();
ServerSocket socket = sslServerSocketFactory.createServerSocket();
TLS コンテキストと、すべての使用可能なパラメーターを正しく設定するには、「キーストアとトラストストアを使用した TLS の設定」を参照してください。