

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の相互認証を有効にする AWS Client VPN
<a name="client-auth-mutual-enable"></a>

Linux/MacOS または Windows でクライアント VPN で相互認証を有効にすることができます。

------
#### [ Linux/macOS ]

次の手順では、OpenVPN easy-rsa を使用してサーバーとクライアントの証明書とキーを生成してから、そのサーバーの証明書とキーを ACM にアップロードします。詳細については、「[Easy-RSA 3 Quickstart README](https://github.com/OpenVPN/easy-rsa/blob/v3.0.6/README.quickstart.md)」を参照してください。

**サーバーとクライアントの証明書とキーを生成し、それらを ACM にアップロードするには**

1. OpenVPN easy-rsa リポジトリのクローンをローカルコンピュータに作成して、`easy-rsa/easyrsa3` フォルダに移動します。

   ```
   $ git clone https://github.com/OpenVPN/easy-rsa.git
   ```

   ```
   $ cd easy-rsa/easyrsa3
   ```

1. 新しい PKI 環境を初期化します。

   ```
   $ ./easyrsa init-pki
   ```

1. 新しい認証局 (CA) を構築するには、このコマンドを実行し、プロンプトに従います。

   ```
   $ ./easyrsa build-ca nopass
   ```

1. サーバー証明書とキーを生成します。

   ```
   $ ./easyrsa --san=DNS:server build-server-full server nopass
   ```

1. クライアント証明書とキーを生成します。

   クライアント証明書とクライアントプライベートキーは、クライアントを設定するときに必要になるため、必ず保存してください。

   ```
   $ ./easyrsa build-client-full client1.domain.tld nopass
   ```

   必要に応じて、クライアント証明書とキーを必要とするクライアント (エンドユーザー) ごとにこの手順を繰り返すことができます。

1. サーバー証明書とキー、およびクライアント証明書とキーをカスタムフォルダにコピーしてから、カスタムフォルダに移動します。

   証明書とキーをコピーする前に、`mkdir` コマンドを使用してカスタムフォルダを作成します。次の例では、ホームディレクトリにカスタムフォルダを作成します。

   ```
   $ mkdir ~/{{custom_folder}}/
   $ cp pki/ca.crt ~/{{custom_folder}}/
   $ cp pki/issued/server.crt ~/{{custom_folder}}/
   $ cp pki/private/server.key ~/{{custom_folder}}/
   $ cp pki/issued/client1.domain.tld.crt ~/{{custom_folder}}
   $ cp pki/private/client1.domain.tld.key ~/{{custom_folder}}/
   $ cd ~/{{custom_folder}}/
   ```

1. サーバー証明書とキー、およびクライアント証明書とキーを ACM にアップロードします。必ずクライアント VPN エンドポイントを作成する予定のリージョンと同じリージョンにアップロードしてください。以下のコマンドは、 AWS CLI を使用して証明書をアップロードします。代わりに ACM コンソールを使用して証明書をアップロードするには、*AWS Certificate Manager ユーザーガイド*の「[証明書のインポート](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)」を参照してください。

   ```
   $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
   ```

   ```
   $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt
   ```

   クライアント証明書を ACM にアップロードする必要はありません。サーバー証明書とクライアント証明書が同じ認証機関 (CA) によって発行されている場合、Client VPN エンドポイントを作成するときに、サーバーとクライアントの両方に対してサーバー証明書 ARN を使用することができます。上のステップで、同じ CA を使用して両方の証明書を作成しています。ただし、完全性を保証するために、クライアント証明書をアップロードするステップが含まれています。

------
#### [ Windows ]

次の手順では、Easy-RSA 3.x ソフトウェアをインストールし、それを使用してサーバーとクライアントの証明書およびキーを生成します。

**サーバーとクライアントの証明書とキーを生成し、それらを ACM にアップロードするには**

1. [EasyRSA リリース](https://github.com/OpenVPN/easy-rsa/releases)ページを開き、お使いの Windows のバージョン用の ZIP ファイルをダウンロードして抽出します。

1. コマンドプロンプトを開き、`EasyRSA-3.x` フォルダが抽出された場所に移動します。

1. 次のコマンドを実行して、EasyRSA 3 シェルを開きます。

   ```
   C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
   ```

1. 新しい PKI 環境を初期化します。

   ```
   # ./easyrsa init-pki
   ```

1. 新しい認証局 (CA) を構築するには、このコマンドを実行し、プロンプトに従います。

   ```
   # ./easyrsa build-ca nopass
   ```

1. サーバー証明書とキーを生成します。

   ```
   # ./easyrsa --san=DNS:server build-server-full server nopass
   ```

1. クライアント証明書とキーを生成します。

   ```
   # ./easyrsa build-client-full client1.domain.tld nopass
   ```

   必要に応じて、クライアント証明書とキーを必要とするクライアント (エンドユーザー) ごとにこの手順を繰り返すことができます。

1. EasyRSA 3 シェルを終了します。

   ```
   # exit
   ```

1. サーバー証明書とキー、およびクライアント証明書とキーをカスタムフォルダにコピーしてから、カスタムフォルダに移動します。

   証明書とキーをコピーする前に、`mkdir` コマンドを使用してカスタムフォルダを作成します。以下の例では、C:\\ ドライブにカスタムフォルダを作成します。

   ```
   C:\Program Files\EasyRSA-3.x> mkdir C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\{{custom_folder}}
   C:\Program Files\EasyRSA-3.x> cd C:\{{custom_folder}}
   ```

1. サーバー証明書とキー、およびクライアント証明書とキーを ACM にアップロードします。必ずクライアント VPN エンドポイントを作成する予定のリージョンと同じリージョンにアップロードしてください。次のコマンドでは AWS CLI 、 を使用して証明書をアップロードします。代わりに ACM コンソールを使用して証明書をアップロードするには、*AWS Certificate Manager ユーザーガイド*の「[証明書のインポート](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)」を参照してください。

   ```
   aws acm import-certificate \
       --certificate fileb://server.crt \ 
       --private-key fileb://server.key \
       --certificate-chain fileb://ca.crt
   ```

   ```
   aws acm import-certificate \
       --certificate fileb://client1.domain.tld.crt \
       --private-key fileb://client1.domain.tld.key \
       --certificate-chain fileb://ca.crt
   ```

   クライアント証明書を ACM にアップロードする必要はありません。サーバー証明書とクライアント証明書が同じ認証機関 (CA) によって発行されている場合、Client VPN エンドポイントを作成するときに、サーバーとクライアントの両方に対してサーバー証明書 ARN を使用することができます。上のステップで、同じ CA を使用して両方の証明書を作成しています。ただし、完全性を保証するために、クライアント証明書をアップロードするステップが含まれています。

------