program story

키 저장소 유형 : 어떤 것을 사용할까요?

inputbox 2020. 8. 12. 08:15
반응형

키 저장소 유형 : 어떤 것을 사용할까요?


java.security파일 보면 JRE기본적으로 사용할 키 저장소 유형이로 설정되어 있음을 알 수 JKS있습니다. 여기 에는 사용할 수있는 키 저장소 유형 목록이 있습니다.

권장되는 키 저장소 유형이 있습니까? 다른 키 저장소 유형의 장단점은 무엇입니까?


연결 한 표준 이름 목록에 나열된 것보다 몇 가지 더 많은 유형이 있습니다. 암호화 공급자 설명서 에서 자세한 내용을 찾을 수 있습니다 . 가장 일반적인 것은 확실히 JKS(기본값) 및 PKCS12(PKCS # 12 파일의 경우, 종종 확장자 .p12또는 경우에 따라 .pfx)입니다.

JKS는 Java 세계에 머무르는 경우 가장 일반적입니다. PKCS # 12는 Java 전용이 아니며 브라우저에서 백업하거나 OpenSSL 기반 도구에서 제공되는 인증서 (개인 키 포함)를 사용하는 것이 특히 편리합니다 ( keytoolJava 6 이전에 키 저장소를 변환하고 개인 키를 가져올 수 없었습니다). , 그래서 다른 도구를 사용해야했습니다).

이미 PKCS # 12 파일이있는 경우 PKCS12유형을 직접 사용하는 것이 더 쉽습니다 . 형식을 변환 할 수 있지만 키 저장소 유형을 직접 선택할 수있는 경우 거의 필요하지 않습니다.

Java 7에서는 개인 키없이 인증서 항목을 저장할 수 없기 때문에 PKCS12주로 키 저장소 로 유용 했지만 신뢰 저장소 에는 덜 유용했습니다 ( 키 저장소와 신뢰 저장소차이점 참조 ). 반대로 JKS각 항목이 개인 키 항목 일 필요가 없으므로 인증서 만 포함 된 항목을 가질 수 있습니다. 이는 신뢰하는 인증서 목록을 저장하는 신뢰 저장소에 유용합니다. 개인 키).

이것은 Java 8에서 변경되었으므로 이제 PKCS12상점에서도 인증서 전용 항목을 가질 수 있습니다. (이러한 변경 사항 및 추가 계획에 대한 자세한 내용은 JEP 229 : 기본적으로 PKCS12 키 저장소 만들기 에서 찾을 수 있습니다 .)

컨텍스트에 따라 덜 자주 사용되는 몇 가지 다른 키 저장소 유형이 있습니다.

  • PKCS11, PKCS # 11 라이브러리의 경우 일반적으로 하드웨어 암호화 토큰에 액세스하지만 Sun 공급자 구현은이를 통해 Mozilla의 NSS 저장소도 지원합니다.
  • BKS, BouncyCastle 공급자 (일반적으로 Android에 사용됨)를 사용합니다.
  • Windows-MY/ Windows-ROOT, Windows 인증서 저장소에 직접 액세스하려는 경우.
  • KeychainStore, OSX 키 체인을 직접 사용하려는 경우.

다음은 Java의 다양한 유형의 키 저장소와 다양한 유형의 키 저장소 간의 차이점을 소개하는 게시물입니다. http://www.pixelstech.net/article/1408345768-Different-types-of-keystore-in-Java---- 개요

다음은 게시물의 여러 키 저장소에 대한 설명입니다.

JKS, Java 키 저장소. 이 파일은 sun.security.provider.JavaKeyStore에서 찾을 수 있습니다. 이 키 저장소는 Java에만 해당되며 일반적으로 jks의 확장자를 갖습니다. 이 유형의 키 저장소는 개인 키와 인증서를 포함 할 수 있지만 비밀 키를 저장하는 데 사용할 수 없습니다. Java 전용 키 저장소이므로 다른 프로그래밍 언어에서 사용할 수 없습니다.

JCEKS, JCE 키 저장소. 이 파일은 com.sun.crypto.provider.JceKeyStore에서 찾을 수 있습니다. 이 키 저장소에는 jceks의 확장자가 있습니다. JCEKS 키 저장소에 넣을 수있는 항목은 개인 키, 비밀 키 및 인증서입니다.

PKCS12, 이것은 Java 및 기타 언어에서 사용할 수있는 표준 키 저장소 유형입니다. 이 키 저장소 구현은 sun.security.pkcs12.PKCS12KeyStore에서 찾을 수 있습니다. 일반적으로 확장자는 p12 또는 pfx입니다. 이 유형에 개인 키, 비밀 키 및 인증서를 저장할 수 있습니다.

PKCS11, 이것은 하드웨어 키 저장소 유형입니다. Luna, nCipher와 같은 하드웨어 키 저장소 장치와 연결하기위한 Java 라이브러리 용 인터페이스를 제공합니다. 이 구현은 sun.security.pkcs11.P11KeyStore에서 찾을 수 있습니다. 키 저장소를로드 할 때 특정 구성으로 특정 공급자를 만들 필요가 없습니다. 이 키 저장소는 개인 키, 비밀 키 및 인증서를 저장할 수 있습니다. 키 저장소를로드 할 때 항목은 키 저장소에서 검색된 다음 소프트웨어 항목으로 변환됩니다.

참고 URL : https://stackoverflow.com/questions/11536848/keystore-type-which-one-to-use

반응형