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에 중점을 둡니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn