2012-07-28 4 views
5

.jks 파일을 자바 보안 트러스트 스토어로 가져 오는 방법은 무엇입니까? 내가 보는 모든 튜토리얼은 ".crt"파일을 사용하고있다. 그러나 keytool 명령을 사용하여 생성 한 키 스토어 인 ".jks"파일 만 있습니다.java 트러스트 스토어에서 jks 인증서를 가져 오는 방법

현재 나는 this tutorial을 팔로우하고 있습니다.

Java 키 저장소와 키 쌍을 생성하고이 자습서를 기반으로하는 기존 Java 키 저장소에 대한 인증서 서명 요청 (CSR)을 생성 할 수있었습니다. 그러나 ".cert"파일을 찾고 있기 때문에 루트 또는 중간 CA 인증서를 기존 Java 키 저장소로 가져오고 서명 된 기본 인증서를 기존 Java 키 저장소로 가져올 수 없습니다.

튜토리얼에 나와있는 단계에 뭔가 빠졌습니까? 내가 가진 유일한 파일이 ".jks"파일 인 경우 어떻게 인증서를 신뢰할 수 있습니까? 그리고 ".csr"파일의 사용은 무엇입니까?

Windows를 사용하고 있습니다.

+0

달성하려는 목표를 나타낼 수 있습니까? 서버를 설치하려고합니까? 아니면 클라이언트 인증을 사용하려고합니까? 아니면 둘다? 클라이언트 및/또는 서버에서 특정 프레임 워크를 사용하고 있습니까? –

+0

프레임 워크를 사용하고 있지 않습니다. 서버 인증을하려고합니다. 연결하려는 서버가 인증서를 받았는지 여부를 확인해야합니다. – Arci

+0

그래서 클라이언트와 서버가없고'.jks' 키 스토어를 사용할 수 있습니까? 당신이 클라이언트 일 뿐이고 클라이언트 인증을 사용하지 않는다면 키 쌍을 생성 할 필요가 없습니다. –

답변

10

".jks"은 트러스트 스토어이거나 적어도 JSSE에 할당해야합니다. CA의 인증서를 해당 파일에 추가해야합니다. 그러면 소프트웨어는 인증서를 반복하여 인증서 체인을 찾습니다. 개인 키는 (암호로 보호 된) ".jks" 파일에 남아 있어야합니다.

즉, 인증서를 가져 오지 않은 ".jks" 인증서를 가져와야합니다. 특정 공급자의 인증서가 인증서 요청의 응답에 포함되지 않은 경우 별도로 다운로드해야 할 수 있습니다. 당신은 proabably 좋아하는 브라우저에서도 그들을 내보낼 수 있습니다. 통상, 이것들은 X5.09 DER 형식 (Java keytool와 호환 가능)에 저장됩니다.

단계 (일반적으로) : 체인은로 시작

  1. 새로운 또는 키 저장소 (.jks)
  2. 을 기존 인증서 요청을 보내기가 서명하기로 키 쌍 & 인증서 요청, 저장, 생성, 획득 사용자가 요청한 인증서
  3. 개인 키를 사용하여 키 저장소에 인증서 체인 가져 오기
  4. 인증을 수행해야하는 당사자를 위해 새 키를 생성하거나 기존 키 저장소를 사용합니다 (적어도 하나 이상의 클라이언트가있을 때 인증서 체인을 가져오고
  5. 위의 키 저장소에있는 인증서 체인의 인증서 (최상위 인증서 ("루트"인증서))를 신뢰합니다.
  6. 당사자 구성 및 테스트 (예 : 개인 키와 키 저장소를 사용하는 서버 및 후자의 키 저장소를 사용하는 여러 클라이언트
+0

자세한 내용없이 추가 정보를 제공 할 수 없기 때문에 자세한 내용이나 세부 사항을 지정하려면이 질문에 답해주십시오. –

+0

삭제 해 주셔서 감사합니다. 이전에 키 스토어에 인증서를 추가하면 실제로는 단일 키 스토어 파일이 아니라 JVM 내에 인증서가 추가되었다고 생각했습니다. 모든 인증서를 신뢰하도록 설정하지 않고 HttpsURLConnection을 사용할 때 자체 서명 된 인증서를 신뢰하도록 자바를 설정하는 방법을 가르쳐 주시겠습니까? – Arci

+0

아니요,하지만 그럴 필요는 없습니다. 일반적으로 별칭별로 특정 키를 사용하도록 Java 응용 프로그램을 구성합니다. Java는 전체 인증서 체인을 찾을 수있는 경우에만이 별칭을 승인하지만 자체 서명 된 인증서의 경우 체인 길이는 1입니다. 인증서가없는 다른 끝점 *에서 인증서 *를 신뢰하면됩니다. 개인 키. 예 : 연결을 만들 때 클라이언트는 특정 시간에 유효한 신뢰할 수있는 인증서의 체인을 만들 수 있는지 확인하려고 시도합니다. 이를 위해서는 키 저장소를 추가하거나 키 저장소를 만들고 자체 서명 된 인증서를 가져오고 트러스트해야합니다. –

관련 문제