
KeyStore는 자격 증명(인증서, 개인 키 등)을 저장하는 디렉토리입니다. SSL/TLS를 사용할 때, KeyStore에 인증서와 개인 키를 저장하여 서버 인증을 위해 사용합니다.
TrustStore는 다른 서버의 인증서를 저장하는 디렉토리입니다. SSL/TLS를 사용할 때, TrustStore에 다른 서버의 인증서를 저장하여 클라이언트가 다른 서버와 통신할 때 인증서를 검증할 수 있습니다.
KeyStore와 TrustStore는 서로 다른 용도로 사용되며, KeyStore는 서버의 자격 증명을 저장하고, TrustStore는 다른 서버의 자격 증명을 검증하는 데 사용됩니다.
KeyStore와 TrustStore를 사용하는 방법은 다음과 같습니다.
1. KeyStore에 인증서와 개인 키를 저장합니다.
2. KeyStore를 사용하여 SSL/TLS를 구성합니다.
3. TrustStore에 다른 서버의 인증서를 저장합니다.
4. TrustStore를 사용하여 클라이언트가 다른 서버와 통신할 때 인증서를 검증합니다.
Java에서 KeyStore와 TrustStore를 사용하는 예시는 다음과 같습니다.
#hostingforum.kr
java
// KeyStore를 생성하고 인증서와 개인 키를 저장합니다.
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(null, null);
// TrustStore를 생성하고 다른 서버의 인증서를 저장합니다.
KeyStore trustStore = KeyStore.getInstance("JKS");
trustStore.load(null, null);
#hostingforum.kr
java
// KeyStore를 사용하여 SSL/TLS를 구성합니다.
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[] { new TrustAllTrustManager() }, null);
// TrustStore를 사용하여 클라이언트가 다른 서버와 통신할 때 인증서를 검증합니다.
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[] { new TrustAllTrustManager() }, null);
#hostingforum.kr
java
// TrustAllTrustManager는 모든 인증서를 검증합니다.
class TrustAllTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
이 예시는 KeyStore와 TrustStore를 사용하여 SSL/TLS를 구성하고, 클라이언트가 다른 서버와 통신할 때 인증서를 검증하는 방법을 보여줍니다.
2025-04-10 12:44