.keystore 파일과 .jks 파일의 차이점


226

.keystore파일과 .jks파일 의 차이점을 찾으려고했지만 찾을 수 없었습니다. 나는 알고있다 jks"Java 키"를하고 모두 저장 키 / 값 쌍에 대한 방법입니다.

다른 것을 사용하는 데 차이점이나 선호 사항이 있습니까?

답변:


197

궁극적으로, .keystore그리고 .jks단지 파일 확장자 있습니다 : 그것은 현명 파일의 이름을 당신에게 달려 있습니다. 일부 응용 프로그램은 $HOME/.keystore다음에 저장된 키 저장소 파일을 사용합니다 . JKS는 Sun / Oracle Java 보안 공급자의 기본 키 저장소 유형 이므로 일반적으로 JKS 파일임을 암시합니다 . .jks기본적으로 암시되어 있기 때문에 모든 사람 이 JKS 파일 의 확장자를 사용하는 것은 아닙니다 . (필요한 경우) 지정할 유형을 기억하기 위해 확장 프로그램을 사용하는 것이 좋습니다.

Java에서 키 저장소라는 단어는 컨텍스트에 따라 다음 의미 중 하나를 가질 수 있습니다.

파일과 스토리지에 관해 이야기 할 때, 이것은 실제로 키 / 값 쌍을위한 스토리지 기능이 아닙니다 (이에 대한 많은 또는 다른 형식이 있습니다). 오히려 암호 키와 인증서를 저장하는 컨테이너입니다 (일부 암호도 저장할 수 있다고 생각합니다). 일반적으로 이러한 파일은이 데이터를 무단으로 사용할 수 없도록 암호화 및 암호로 보호됩니다.

Java는 KeyStore클래스 및 관련 API를 사용하여 키 저장소를 사용합니다 ( 파일 기반이든 아니든 ). JKSJava 특정 파일 형식이지만 API는 다른 파일 형식 (일반적으로 PKCS # 12)과 함께 사용할 수도 있습니다. 키 저장소를로드하려면 키 저장소 유형을 지정해야합니다. 일반적인 확장은 다음과 같습니다.

  • .jks유형의 "JKS"경우
  • .p12또는 .pfx유형 "PKCS12"(사양 이름은 PKCS # 12이지만 #Java 키 저장소 유형 이름에는 사용되지 않음)입니다.

또한 BouncyCastle은 구현, 특히 Android 애플리케이션에 자주 사용되는 BKS (일반적으로 .bks확장명 사용) 도 제공 합니다.


확장자를 .jks에서 .keystore로 변경하는 것보다 확인할 수 있습니다. 그것을하기 전에 백업하십시오 !!
BMaximus

77

당신은 이것에 혼란스러워합니다.

A keystore는 인증서, 개인 키 등의 컨테이너입니다.

이 키 스토어의 형식이 무엇인지에 대한 스펙이 있으며 주요한 것은 # PKCS12입니다.

JKS는 Java의 키 저장소 구현입니다. BKS 등도 있습니다

이것들은 모두 키 스토어 타입 입니다.

따라서 귀하의 질문에 대답하십시오 :

.keystore 파일과 .jks 파일의 차이점

없습니다. JKS는 키 저장소 파일입니다. 키 스토어 유형 에는 차이가 있습니다 . 예 : JKS#PKCS12


2
"keystore"라는 단어가 Java 용어의 일부이고 Java 컨텍스트 외부에서는 거의 사용되지 않기 때문에 PKCS # 12가 아닌 주요 키 저장소 유형이 JKS 라고합니다 . PKCS # 12 파일은 일반적으로 (일반적으로 .pfx또는 .p12) 매우 일반적 입니다.
Bruno

@Bruno : Java 애플리케이션에서 주로 사용되는 유형입니다.
Cratylus

10
아니오, "keystore"라는 단어는 대부분 Java 단어입니다. 다른 응용 프로그램 / 플랫폼은 키와 인증서가 "키 저장소"로 저장되는 장소 / 파일을 거의 호출하지 않습니다. MS는 예를 들어 PKCS # 12 파일 "개인 정보 교환"파일을 호출합니다. "키 체인"(OSX), "인증서 데이터베이스"(NSS), "인증서 저장소", "키 링"등과 같은 이름은 실제로 "키 저장소"가 아니라 키와 인증서를 저장하는 장소에 대한 이름입니다.
Bruno

3
@Bruno : 나는 당신이 무슨 뜻인지 알겠습니다. 좋은 지적. 전에는 그렇게 생각하지 않았습니다. 감사합니다
Cratylus

3

.jks 대신 .keystore를 선택하는 한 가지 이유는 Unity가 키 저장소 파일을 선택할 때 탐색 할 때 전자를 인식하지만 후자는 인식하지 않기 때문입니다 (Unity 2017.3, macOS).

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