키스토어 유형: 사용할 키스토어 유형
「」을 해 주세요.java.security
집 사람JRE
은, 「 」로 것을 알 수 있습니다JKS
여기에서는 사용할 수 있는 키스토어 타입의 리스트를 나타냅니다.
권장되는 키스토어 타입이 있습니까?다양한 키스토어 유형의 장단점은 무엇입니까?
링크된 표준 이름 목록에 나열된 유형보다 몇 가지 더 많습니다.자세한 내용은 암호화 공급자 설명서를 참조하십시오.가장 흔한 것은 확실히JKS
및 (디폴트)PKCS12
파일의 , (PKCS#12), "PKCS#12", "PKCS#12").p12
가끔 (가끔).pfx
를 참조해 주세요.
JKS Java는 Java 하지 않습니다 OpenSSL 툴PKCS#12 Java)에서 편리합니다.브라우저 또는 OpenSSL 기반 툴에서 백업된 증명서(개인 키 포함)를 사용하는 것이 특히 편리합니다.keytool
Java 6 이전에는 키스토어를 변환하고 개인 키를 Import할 수 없었기 때문에 다른 툴을 사용해야 했습니다).
파일이 이미 PKCS#12를 더 .PKCS12
변환은 직접 할 수 는 거의 하지 않습니다형식을 변환할 수 있지만 키 저장소 유형을 직접 선택할 수 있는 경우에는 거의 필요하지 않습니다.
7, Java 7의 경우PKCS12
는 주로 키스토어로 유용하지만 개인 키가 없으면 증명서 엔트리를 저장할 수 없기 때문에 신뢰스토어에서는 도움이 되지 않습니다(키스토어와 신뢰스토어의 차이 참조).그에 반해서,JKS
그럼 각 엔트리가 개인 키엔트리가 될 필요는 없기 때문에 증명서만 포함하는 엔트리를 가질 수 있습니다.이 엔트리는 신뢰 스토어에 도움이 되며 신뢰하는 증명서 목록을 저장합니다(단, 개인 키는 없습니다).
는 Java 8에서 를 사용할 수 .PKCS12
(이러한 변경 및 추가 계획에 대한 자세한 내용은 JEP 229: Create PKCS12 Keystores by Default를 참조하십시오.)
그 밖에도 몇 가지 키스토어 타입이 있습니다(콘텍스트에 따라서는 사용 빈도가 낮아질 수 있습니다).다음은 예를 제시하겠습니다.
PKCS11
PKCS#11 라이브러리의 경우 일반적으로 하드웨어 암호화 토큰에 액세스하기 위한 것이지만 Sun 공급자 구현에서는 이를 통해 NSS 스토어(Mozilla에서)도 지원됩니다.BKS
BouncyCastle 급일 ( Android ) 。Windows-MY
/Windows-ROOT
Windows の windows windows windows windows 。KeychainStore
OSX の os os os 。
여기에서는 Java의 다양한 키스토어와 다른 키스토어의 차이점을 소개하고 있습니다.http://www.pixelstech.net/article/1408345768-Different-types-of-keystore-in-Java----Overview
투고로부터의 다양한 키스토어에 대한 설명을 다음에 나타냅니다.
JKS, Java Key Store.이 파일은 sun.security.provider에서 찾을 수 있습니다.JavaKeyStore.이 키스토어는 Java에 따라 다르며 보통 jks의 확장자를 가집니다.이런 유형의 키 저장소에는 개인 키 및 인증서를 포함할 수 있지만 개인 키를 저장하는 데 사용할 수 없습니다.자바 고유의 키스토어이기 때문에 다른 프로그래밍 언어에서는 사용할 수 없습니다.
JCEKS, JCE 키스토어이 파일은 com에서 찾을 수 있습니다.sun.2014.2014.2014.2014.2014.2011JceKeyStore 입니다.이 키 스토어의 확장자는 jceks입니다.는 JCEKS keystore에 처해질 수 있는 항목은 개인 키 비밀 열쇠와 인증서.
이것이 Java그리고 다른 언어에서 사용될 수 있PKCS12, 이것은 표준 keystore 형식입니다.당신은 sun.security.pkcs12에 이 keystore 구현을 찾을 수 있다.PKCS12KeyStore.보통 p12 또는 pfx의 연장 가지고 있다.이 유형에 개인 키 비밀 열쇠와 인증서 저장할 수 있다.
PKCS11, 이것은 하드웨어 keystore 형식입니다.그것은 keystore 루나와 같은 기기 nCipher는 자바 도서관에 대한 인터페이스 하드웨어에 연결할 수 있는 servers.당신은 sun.security.pkcs11에서 이 구현을 찾을 수 있다.P11KeyStore.언제 keystore 장착한 당신이 필요성 구체적인 구성으로 특정 공급자를 창출할 것입니다.이 keystore 개인 키 비밀 열쇠와 cetrificates 저장할 수 있다.는 언제 keystore, 엔트리를 그 keystore고 나서 소프트웨어 항목으로 전환해 검색할 것이다.
8하고 있는 는, 「8」을 선택해 주세요.PKCS12
기본부터 자바 9(JEP 229).
그 점에 비해JKS
그리고.JCEKS
다음과 같습니다.
- 개인키, 개인키 및 증명서를 저장할 수 있습니다.
PKCS12
표준 형식이며 다른 프로그램 및 라이브러리에서1 읽을 수 있습니다.- 보안 강화:
JKS
그리고.JCEKS
상당히 불안정합니다.이는 특히 Android 2, 3개발자들에게 인기가 있는 이러한 키스토어 유형의 암호를 강제하기 위한 도구의 수에서 알 수 있습니다.
1 Java 11에서 수정된 JDK-8202837이 있습니다.
2 모든 키스토어 유형(PKCS12 포함)에서 사용되는 PBE의 반복 횟수는 다소 약했지만(CVE-2017-10356) 이는 9.0.1, 8u151, 7u161 및 6u171에서 수정되었습니다.
3 자세한 내용은 다음을 참조하십시오.
- 열쇠에 주의해 주세요. Java Keystore 보안평가(PDF)
- Java KeyStores – 자세한 내용
Java 11은 다음과 같은 유형을 제공합니다.KeyStore
s:
jceks
: SunJCE 프로바이더가 제공하는 독자적인 키스토어 구현.
jks
: SUN 프로바이더가 제공하는 독자적인 키스토어 실장.
dks
: 도메인 키스토어는 단일 논리 키스토어로 표시되는 키스토어의 집합입니다.이는 DomainLoadStoreParameter 클래스에서 구문을 설명하는 구성 데이터로 지정됩니다.
pkcs11
: PKCS #11 토큰에 의해 백업되는 키스토어.
pkcs12
: PKCS #12에서 정의된 개인 ID 정보의 전송 구문.
출처 : https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#keystore-types
언급URL : https://stackoverflow.com/questions/11536848/keystore-type-which-one-to-use
'programing' 카테고리의 다른 글
웹 팩을 사용하여 정적 파일을 빌드 디렉토리에 복사하는 방법 (0) | 2022.09.15 |
---|---|
리스트와 튜플의 차이점은 무엇입니까? (0) | 2022.09.15 |
MATCH ANDING과 LIKE 중 어떤 SQL 쿼리가 더 좋습니까? (0) | 2022.09.15 |
Larabel IN 검증 또는 ENUM 값에 의한 검증 (0) | 2022.09.15 |
MySQL에서 BLOB와 TEXT 데이터 유형의 차이점은 무엇입니까? (0) | 2022.09.15 |