HOWTO · Java
Java의 Cacerts와 키 저장소
이 자습서는 Java에서 cacerts와 키 저장소의 차이점에 대해 교육합니다.
이 페이지의 내용
이 튜토리얼에서는 cacerts와 KeyStore를 비교하고 차이점을 강조합니다.
Java의 cacerts 대 KeyStore
cacerts는 동료를 인증하는 데 사용되는 TrustStore이고 KeyStore는 자신을 인증하는 데 사용됩니다.
Keystore와 TrustStore는 주로 SSL/TLS를 통해 통신해야 하는 애플리케이션에 사용됩니다. 이러한 파일은 암호로 보호되어 있습니다.
Keystore의 기본 형식은 Java 9의 PKS12입니다. 그러나 또 다른 기본 형식인 JKS는 Java 8까지 사용됩니다. 따라서 아래에서 KeyStore 및 TrustStore에 대해 개별적으로 논의해 보겠습니다.
자바의 ‘키스토어’
KeyStore는 주로 암호화 목적으로 사용되는 개인 항목, 공개 키 및 인증서의 저장소입니다. KeyStore는 프로그램이 서버 역할을 하고 HTTPS를 사용하려고 할 때 프로그램에서 사용됩니다.
SSL에 의한 핸드쉐이킹 동안 서버 프로그램은 KeyStore에서 개인 키를 찾습니다. KeyStore는 클라이언트 프로그램에서도 사용됩니다.
클라이언트 프로그램이 서버에 연결을 시도할 때 자체 인증이 필요합니다. 인증하는 동안 클라이언트 프로그램은 KeyStore에서 공개 키와 인증서도 찾습니다.
집합적으로 KeyStore는 필요한 모든 보안 파일을 보관하는 장소라고 말할 수 있습니다.
Java의 ‘TrustStore’
TrustStore는 KeyStore의 반대입니다. KeyStore는 우리를 식별하기 위해 파일을 보유하는 반면 TrustStore는 다른 사람을 식별하기 위해 파일을 보유합니다.
Java에는 cacerts라는 묶음 TrustStore가 포함되어 있으며 $JAVA_HOME/jre/lib/security 디렉토리에 있습니다.
Keystore 및 TrustStore(cacerts) 데모
아래에서 Keystore 및 TrustStore에 대한 예제 명령을 공유했습니다. 명령은 아래와 같습니다.
keytool -list -keystore cacerts
이제 위의 명령을 실행하면 다음과 같은 결과가 표시됩니다.
위에서 공유한 명령은 주로 Java에 중점을 둡니다.