0
0

(調査中)サーバー側とクライアント側のセキュリティ設定において、keystoreとtruststoreの役割と配置について

Last updated at Posted at 2024-05-27

サーバー側とクライアント側のセキュリティ設定において、keystoreとtruststoreの役割と配置について説明します。

keystoreとtruststoreの概要

keystore:

証明書と秘密鍵を格納する。
主にサーバー側で使用されるが、クライアント側でも必要に応じて使用される。
自分自身の証明書と秘密鍵を管理するためのストア。

truststore:

信頼する証明書を格納する。
クライアント側とサーバー側の両方で使用される。
他のエンティティ(サーバーやクライアント)の証明書を信頼するためのストア。

サーバー側の設定

keystore

サーバーは自身の証明書と秘密鍵を使用してクライアントに対する認証を行うため、keystoreが必要です。

keystoreの作成には、通常以下のようなコマンドを使用します

keytool -genkeypair -alias server-alias -keyalg RSA -keysize 2048 -keystore server.keystore

truststore

サーバーがクライアント証明書を信頼する場合、または他のサーバーとの通信において相手の証明書を検証する必要がある場合、truststoreを使用します。

truststoreに証明書を追加する例:

keytool -importcert -alias ca-cert -file ca-cert.cer -keystore server.truststore

クライアント側の設定

keystore

クライアントが自身を認証するための証明書と秘密鍵が必要な場合、keystoreを使用します。
クライアントのkeystoreの作成:

keytool -genkeypair -alias client-alias -keyalg RSA -keysize 2048 -keystore client.keystore

truststore

クライアントはサーバーの証明書を検証する必要があるため、truststoreが必要です。
サーバーの証明書を信頼するための証明書をtruststoreに追加する例

keytool -importcert -alias server-cert -file server-cert.cer -keystore client.truststore

ファイルの配置

サーバー側のkeystoreとtruststore:

サーバーのアプリケーションがアクセス可能な場所に配置します。多くの場合、サーバーの設定ファイルでパスを指定します。

クライアント側のkeystoreとtruststore:

クライアントアプリケーションがアクセス可能な場所に配置します。Javaプログラムでシステムプロパティを使用してパスを指定します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0