---
schema_version: "1"
id: f97fdaba5b6c0b84350d8edf57584d2b4399c9965a14bae0ae2b985ee7cff95b
title: TLS 設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/tls.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/tls
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3dabfc22c4504ea663ee441f70cf159d67aa61150dedc5431b7885188ac4f2dc
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# TLS 設定

TLS 設定のサポートをモジュールに追加する方法は簡単です。次の例のように、種別 ​`TlsContextFactory`​ の ​[パラメーター](https://docs.mulesoft.com/jp/mule-sdk/1.1/parameters)​を宣言するだけです。

```java
@Parameter
@Optional
private TlsContextFactory tlsContextFactory;
```

上記の例では、次の XML 設定のサポートが自動的に生成されます。

```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`​ を作成できます。

```java
private final TlsContextFactory tlsContextFactory = TlsContextFactory.builder()
                                                        .trustStorePath("tls/trustStore")
                                                        .trustStorePassword("mulepassword")
                                                        .build()
```

このビルダーでは、​`TlsContextFactory`​ のデフォルトインスタンスを作成することもできます。

```java
private final TlsContextFactory defaultTlsContextFactory = TlsContextFactory.builder().buildDefault();
```

`TlsContextFactory`​ が使用可能になると (パラメーターとして使用可能か、そのビルダーを介して取得されたかに関係なく)、次の例のように初期化する必要があります。

```java
if (tlsContextFactory instanceof Initialisable) {
  ((Initialisable) tlsContextFactory).initialise();
}
```

次に、これを使用して ​`SSLContext`​、​`SSLSocketFactory`​、または ​`SSLServerSocketFactory`​ を取得できます。また、有効になった TLS プロトコルと暗号化スイートを取得することもでき、これを使用して、以下の例のように、TLS/SSL を使用するほとんどの Java コンポーネントをセットアップできます。

[FTPSClient](https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPSClient.html)​ をセットアップするには、​ [SSLContext](https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLContext.html)​ を取得し、次にそのプロトコルと暗号化スイートを設定します。

```java
SSLContext sslContext = tlsContextFactory.createSslContext();
String[] enabledProtocols = tlsContextFactory.getEnabledProtocols();
String[] enabledCiphers = tlsContextFactory.getEnabledCipherSuites();

FTPSClient client = new FTPSClient(sslContext);
client.setEnabledProtocols(enabledProtocols);
client.setEnabledCipherSuites(enabledCiphers);
```

[SSLSocketFactory](https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocketFactory.html)​ を取得して、独自の​ [ソケット](https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html)​を作成することもできます。

```java
SSLSocketFactory sslSocketFactory = tlsContextFactory.createSocketFactory();
Socket socket = sslSocketFactory.create();
```

[ServerSocket](https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html)​ を作成するには、​[SSLServerSocketFactory](https://docs.oracle.com/javase/8/docs/api/index.html?javax/net/ssl/SSLServerSocketFactory.html) を取得することもできます。

```java
SSLServerSocketFactory sslServerSocketFactory = tlsContextFactory.createServerSocketFactory();
ServerSocket socket = sslServerSocketFactory.createServerSocket();
```

TLS コンテキストと、すべての使用可能なパラメーターを正しく設定するには、​[「キーストアとトラストストアを使用した TLS の設定」](#4.1@mule-runtime::tls-configuration.adoc)​を参照してください。