cacerts와 keystore의 차이점은 무엇입니까?


112

cacerts와 keystore의 차이점은 무엇입니까?

이 링크, cacertskeystore 에있는 정의를 사용하면 인증서 모음 인 것처럼 보이지만 (Java) 분산 시스템의 맥락에서 볼 수 있습니다. SSL 연결 중 인증에 사용되는 것은 무엇입니까? 둘 다 또는 둘 중 하나 또는 대체?


3
cacerts = 인증 기관 인증서 ?
Peter Mortensen

답변:


139

'cacerts'는 신뢰 저장소입니다. 신뢰 저장소는 피어를 인증하는 데 사용됩니다. 키 저장소는 자신을 인증하는 데 사용됩니다.


안녕하세요 EJP는 답변을 주셔서 감사합니다. 답변을 읽기 전에 인용했습니다.) 그래서 Francis와 Pangea에 답변을 요약하면 설명이 필요합니다. Cacerts는 액세스 또는 연결을 요청하는 클라이언트를 인증하는 데 사용되며 키 저장소의 경우 자신을 인증하려는 이유를 알지 못합니다. :)
dimas

20
내가 쓴 것을 다시 읽으십시오. (1) 신뢰 저장소는 피어 를 인증하는 데 사용됩니다 . 당신이 클라이언트라면 서버는 피어입니다. 서버라면 그 반대도 마찬가지입니다. (2) 서버이거나 클라이언트이고 서버가 클라이언트 인증을 요청 하는 경우 피어 대해 자신 인증 해야하므로 키 저장소에있는 자체 인증서와 개인 키가 필요합니다. (혼동, 같은 파일 형식을 모두 사용하며 키 스토어 파일을 불렀다.)
론의 후작

알겠습니다.하지만 후속 질문입니다. 내 cacerts에는 키 저장소 등에 저장된 모든 인증서가 포함되어 있습니다. 내 응용 프로그램의 개인 인증서를 포함한 일부 인증서에는 별칭이 다르지만 동일한 디지털 서명이 있습니다. 그래서 이상적으로는 서버에 연결하고 인증을 요청하면 내 cacerts를 사용할 수 있습니까?
dimas

'다른 별칭'에 대한 부분을 이해하지 못합니다. 무엇과 다른가요? 마지막 질문은 실험을 통해 답변 할 수 있습니다.
Marquis of Lorne

3
@ raja777m cacerts은 당신이 신뢰하는 사람입니다. 테스트 서버에 자체 서명 된 인증서를 사용하는 실수를 저 지르지 않는 한 환경간에 변경 될 이유가 없습니다. 테스트 및 프로덕션에서 서로 다른 코드 경로를 사용하고 있다는 것을 의미하기 때문에 실수입니다.
Marquis of Lorne

41

cacerts는 Java가 루트 CA의 공용 인증서를 저장하는 곳입니다. Java는 cacerts를 사용하여 서버를 인증합니다.

키 저장소는 서버가 클라이언트 인증을 요청할 때 서버와 공유 할 수 있도록 Java가 클라이언트의 개인 키를 저장하는 곳입니다.


@dimas 분명히,하지만 그가 정말로 의미하는 것은 '요청'입니다.
Marquis of Lorne

1
@ user207421이 답변은 Java App이 http 클라이언트의 역할을하고 있으며 Java App이 호출하는 http URL이 서버 응용 프로그램이라고 생각합니다. 따라서 클라이언트 Java 앱의 KeyStore에는 개인 키 + 인증서 (서명 된 공개 키)가 모두 있어야하며 인증서 만 서버 앱에 보내야합니다. 서버 앱이 Java 앱이기도 한 경우 자체 cacert 파일을 사용하여 클라이언트 Java 앱에서 보낸 인증서를 확인합니다.
user104309

0

Cacert는 인증서를 발급 할 수있는 신뢰할 수있는 서명 기관의 세부 정보입니다. 이것은 대부분의 브라우저가 인증 된 인증서로 인해 가지고있는 것입니다. Keystone에는 클라이언트를 인증하기위한 서비스 관련 인증서가 있습니다.


-2

JAVA_HOME 경로를 확인하십시오. 시스템은에있는 java.policy 파일을 찾습니다 JAVA_HOME/jre/lib/security. JAVA_HOME은 항상 ../JAVA/JDK.


3
노력에 감사하지만 EJP의 답변을 읽고 이해해야합니다.
dimas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.