HOWTO · Java

Java의 Cacerts와 키 저장소

이 자습서는 Java에서 cacerts와 키 저장소의 차이점에 대해 교육합니다.

이 페이지의 내용

이 튜토리얼에서는 cacertsKeyStore를 비교하고 차이점을 강조합니다.

Java의 cacertsKeyStore

cacerts는 동료를 인증하는 데 사용되는 TrustStore이고 KeyStore는 자신을 인증하는 데 사용됩니다.

KeystoreTrustStore는 주로 SSL/TLS를 통해 통신해야 하는 애플리케이션에 사용됩니다. 이러한 파일은 암호로 보호되어 있습니다.

Keystore의 기본 형식은 Java 9PKS12입니다. 그러나 또 다른 기본 형식인 JKSJava 8까지 사용됩니다. 따라서 아래에서 KeyStoreTrustStore에 대해 개별적으로 논의해 보겠습니다.

자바의 ‘키스토어’

KeyStore는 주로 암호화 목적으로 사용되는 개인 항목, 공개 키 및 인증서의 저장소입니다. KeyStore는 프로그램이 서버 역할을 하고 HTTPS를 사용하려고 할 때 프로그램에서 사용됩니다.

SSL에 의한 핸드쉐이킹 동안 서버 프로그램은 KeyStore에서 개인 키를 찾습니다. KeyStore는 클라이언트 프로그램에서도 사용됩니다.

클라이언트 프로그램이 서버에 연결을 시도할 때 자체 인증이 필요합니다. 인증하는 동안 클라이언트 프로그램은 KeyStore에서 공개 키와 인증서도 찾습니다.

집합적으로 KeyStore는 필요한 모든 보안 파일을 보관하는 장소라고 말할 수 있습니다.

Java의 ‘TrustStore’

TrustStoreKeyStore의 반대입니다. KeyStore는 우리를 식별하기 위해 파일을 보유하는 반면 TrustStore는 다른 사람을 식별하기 위해 파일을 보유합니다.

Java에는 cacerts라는 묶음 TrustStore가 포함되어 있으며 $JAVA_HOME/jre/lib/security 디렉토리에 있습니다.

KeystoreTrustStore(cacerts) 데모

아래에서 KeystoreTrustStore에 대한 예제 명령을 공유했습니다. 명령은 아래와 같습니다.

keytool -list -keystore cacerts

이제 위의 명령을 실행하면 다음과 같은 결과가 표시됩니다.

java의 cacerts와 키 저장소 비교 - 출력

위에서 공유한 명령은 주로 Java에 중점을 둡니다.