2016-07-11 2 views
1

생성 한 인증서를 기반으로 jks 키 저장소를 생성하라는 메시지가 표시되었습니다. 주제에 대해 조금 읽었지만 몇 가지 항목에 대해 여전히 혼란 스럽습니다..jks 키 스토어의 목적은 무엇입니까?

인증서의 개인 키가 .jks 키스톤에 저장되어야합니까?

예인 경우 - 어디로 입력됩니까? keytool을 사용하면 jks 파일을 만들 필요가 없습니다.

아니요 - jks 파일의 용도는 무엇입니까? 왜 내 응용 프로그램은 인증서를 직접 읽는 대신에 필요합니까? 그리고 공개 키가 포함되어있는 경우 keytool에서 jks를 만드는 데 암호가 필요한 이유는 무엇입니까?

답변

2

인증서의 개인 키가 .jks 키스톤에 저장되어야합니까?

네가 인증서를 소유하고 거기에 저장되어 있으면 가능합니다.

예인 경우 - 어디로 입력됩니까? keytool을 사용하면 jks 파일을 만들 필요가 없습니다.

신뢰할 수있는 인증서 만 포함 된 신뢰 저장소로 사용할 수도 있기 때문입니다.

비공개 키를 얻으려면 여기에서 this과 같은 수많은 질문에서 대답하는 것처럼 openssl을 사용하여 PKCS # 12 파일로 변환해야합니다.

아니요 - jks 파일의 용도는 무엇입니까? 왜 내 응용 프로그램은 인증서를 직접 읽는 대신에 필요합니까?

응용 프로그램도 인증서의 개인 키가 필요하기 때문에.

공개 키가있는 경우 keytool에 암호가 있어야 jks를 만들 수 있습니까?

키 저장소에는 보안 관련 엔터티가 있으므로 암호가 있습니다.

0

키 저장소의 목적은 암호 기반 알고리즘을 사용하여 암호화 키의 개인 정보 및 무결성을 보호하는 것입니다. 개인 정보 란 키가 비밀로 유지된다는 의미입니다. 암호를 아는 사람 만 사용할 수 있습니다. 이는 개인 키와 비밀 키에 유용합니다. 무결성이란 암호를 알고있는 사람이 키 변경을 감지 할 수 있음을 의미합니다. 이것은 공개 키와 비밀 키에 유용합니다.

개인 키 포함 여부는 수행하려는 작업에 따라 다릅니다. 예를 들어 클라이언트에 자신을 인증 할 수 있도록 서버의 키 저장소를 만드는 경우에는 개인 키가 있어야합니다. 자체 서명 인증서를 작성한 경우 클라이언트에 서비스를 인증 할 수 있도록 키 저장소를 제공하려면 이 아니고에 개인 키가 있어야합니다.

기존 키 쌍이 있고이를 JKS 형식 키 저장소로 가져 오려는 경우 가장 쉬운 방법은 use OpenSSL to create a PKCS #12 format key store, then use keytool to convert that to a JKS key store. 일 수 있습니다. 일반적으로 keytool은 키 쌍 생성 자체를 수행하므로 개인 키가 생성됩니다. 처음부터 거기에 보관하십시오.

메시지를 암호화하거나 서명을 확인하기 전에 공개 키 또는 인증서의 무결성을 확인해야합니다. 그렇지 않으면 공격자가 소유 한 키로 대체하고 중간에 사람으로 행동 할 수 있습니다. 단순히 파일에서 공개 키를 읽는다면 실제로는 의도 한 수신자에게 속한다는 것을 알 수 없습니다. 그러나 암호 기반 메시지 인증 코드를 공개 키와 함께 저장하면 변조되지 않았 음을 보장 할 수 있습니다.

+0

공개 키를 확인할 수는 없지만 인증서가있는 인증서를 확인할 수는 있습니다. SSL은 자동으로 처리합니다. 파일이 아닌 공개 키를 저장하지 않으려면 인증을 제공하고 변조 증거를 제공하는 인증서를 저장해야합니다. – EJP

+0

@ EJP 나는 당신의 코멘트가 잘못 표현되었지만, 당신이 말하는 것에 대해 알고 있다는 것을 알고 있습니다. 하지만 모르는 사람에게 왜 평범한 파일이 아닌 암호로 보호 된 키 저장소에 인증서를 저장해야하는지 설명하고 있습니다. – erickson

+0

필자의 말씨가 내게 완벽하게 보이고 답안에서 잘못된 말씨에 대한 뚜렷한 개선이 보인다. – EJP

관련 문제