키 저장소 유형 : 어떤 것을 사용할까요?
java.security
내 파일 을 보면 JRE
기본적으로 사용할 키 저장소 유형이로 설정되어 있음을 알 수 JKS
있습니다. 여기 에는 사용할 수있는 키 저장소 유형 목록이 있습니다.
권장되는 키 저장소 유형이 있습니까? 다른 키 저장소 유형의 장단점은 무엇입니까?
연결 한 표준 이름 목록에 나열된 것보다 몇 가지 더 많은 유형이 있습니다. 암호화 공급자 설명서 에서 자세한 내용을 찾을 수 있습니다 . 가장 일반적인 것은 확실히 JKS
(기본값) 및 PKCS12
(PKCS # 12 파일의 경우, 종종 확장자 .p12
또는 경우에 따라 .pfx
)입니다.
JKS는 Java 세계에 머무르는 경우 가장 일반적입니다. PKCS # 12는 Java 전용이 아니며 브라우저에서 백업하거나 OpenSSL 기반 도구에서 제공되는 인증서 (개인 키 포함)를 사용하는 것이 특히 편리합니다 ( keytool
Java 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
'program story' 카테고리의 다른 글
CSS에서 @import와 링크의 차이점 (0) | 2020.08.12 |
---|---|
Excel 2007에서 줄 바꿈이있는 CSV 가져 오기 (0) | 2020.08.12 |
Java에서 SIGKILL 신호를 정상적으로 처리하는 방법 (0) | 2020.08.12 |
일대 다와 다 대일 관계의 차이점 (0) | 2020.08.12 |
내부 오류 500 Apache이지만 로그에 아무것도 없습니까? (0) | 2020.08.12 |