# 信頼済みクライアント証明書を作成

キーと証明書を操作するには、キーツール(JDK で提供)を使用します。

## 手順

1. 2つのキーペアを作成します:
   1. ペアの1つはサーバー向け(SSLで使用)
   2. もう1つのペアはクライアント側での例(「信頼」で使用)

      クライアント側のキーペアは、クライアントごとに作成する必要があります。
   ```
   mkdir -p etc/keystores
   cd etc/keystores
   keytool -genkey -keyalg RSA -validity 365 -alias serverkey -keypass password -storepass password -keystore keystore.jks
   keytool -genkey -keyalg RSA -validity 365 -alias clientkey -keypass password -storepass password -keystore client.jks
   ```

   これらのキーは、自己設計されています: 本番システムでは、認証機関(CA)を使用する必要があります。
2. サーバーキーストアにインポートするクライアント証明書をエクスポートします:
   ```
   keytool -export -rfc -keystore client.jks -storepass password -alias clientkey -file client.cer
   keytool -import -trustcacerts -keystore keystore.jks -storepass password -alias clientkey -file client.cer
   ```
3. クライアント証明書がサーバーキーストアで信頼されていることを確認します:
   ```
   keytool -list -v -keystore keystore.jks
   ...
   Alias name: clientkey
   Creation date: Aug 28, 2018
   Entry type: trustedCertEntry
   ...
   ```
4. client.cer証明書を削除します。