JavaTM Platform
Standard Ed. 6

java.security
클래스 KeyStore

java.lang.Object 
  상위를 확장 java.security.KeyStore


public class KeyStore
extends Object

이 클래스는, 암호화의 열쇠와 증명서의 포함 장소를 표현한 것입니다.

KeyStore 는 다른 형태의 엔트리를 관리합니다. 개개의 엔트리형은 KeyStore.Entry 인터페이스를 구현합니다. 다음의 3 개의 기본 KeyStore.Entry 구현이 제공되고 있습니다.

키스토어내의 각 엔트리는, 「별명」캐릭터 라인에 의해 식별됩니다. 비공개키와 거기에 관련지을 수 있었던 증명서 체인의 경우는, 이러한 캐릭터 라인은, 엔티티 자체가 인증한다고 하는 것처럼, 방법별로 구별됩니다. 예를 들어, 엔티티가 다른 증명서 발행국을 사용하거나 다른 공개키 알고리즘을 사용하거나 해, 엔티티 자체를 인증하는 일도 가능합니다.

별명의 대문자와 소문자가 구별될지 어떨지는, 구현에 따라서 다릅니다. 문제의 발생을 막기 위해, KeyStore 내에서는, 대문자와 소문자의 구별이 다를 뿐(만큼)의 별명을 사용하지 않게 해 주세요.

키스토어가 지속성이 있을지 어떨지, 및 지속성이 있는 경우에 사용되는 기구는, 여기에서는 지정되지 않습니다. 이것에 의해, 중요한 (비밀 또는 비공개) 열쇠를 보호하기 위한 다양한 기술을 사용할 수 있습니다. 스마트 카드 또는 그 외의 통합 암호화 엔진 (SafeKeyper)을 사용하는 일도 1 개의 방법입니다. 또, 파일등의 보다 단순한 기구를 다양한 형식에서 사용할 수도 있습니다.

KeyStore 객체를 요구하는 전형적인 방법으로서는, 디폴트의 형태를 이용하는 방법과 특정의 키스토어형을 지정하는 방법이 있습니다.

특정의 키스토어에 액세스 할 수 있도록(듯이) 하려면 , 그 키스토어를로드 할 필요가 있습니다.

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

// get user password and file input stream
char[] password = getPassword();

java.io.FileInputStream fis = null;
try {
fis = new java.io.FileInputStream("keyStoreName");
ks.load(fis, password);
} finally {
if (fis ! = null) {
fis.close();
        }
    }
 
상기의 load 메소드를 사용해 빈 상태(empty)의 키스토어를 작성하려면 ,InputStream 인수로서 null 를 건네줍니다.

키스토어의 로드가 완료하면(자), 기존의 엔트리를 키스토어로부터 읽어내거나 새로운 엔트리를 키스토어에 기입하거나 할 수 있습니다.

// get my private key
KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry)
ks.getEntry("privateKeyAlias", password);
PrivateKey myPrivateKey = pkEntry.getPrivateKey();

// save my secret key
javax.crypto.SecretKey mySecretKey;
KeyStore.SecretKeyEntry skEntry =
new KeyStore.SecretKeyEntry(mySecretKey);
ks.setEntry("secretKeyAlias", skEntry, 
new KeyStore.PasswordProtection(password));

// store away the keystore
java.io.FileOutputStream fos = null;
try {
fos = new java.io.FileOutputStream("newKeyStoreName");
ks.store(fos, password);
} finally {
if (fos ! = null) {
fos.close();
        }
    }
 
덧붙여 상기 샘플 코드로 가리킨 것처럼, 키스토어의 로드, 비공개키 엔트리의 보호, 비밀열쇠 엔트리의 보호, 및 키스토어의 포함에는 같은 패스워드를 사용할 수 있습니다만, 다른 패스워드나 그 외의 보호 파라미터도 사용할 수 있습니다.

도입된 버젼:
1.2
관련 항목:
PrivateKey , SecretKey , Certificate

상자의 클래스의 개요
static class KeyStore.Builder
          인스턴스화 해야 할 KeyStore 객체를 기술한 클래스입니다.
static class KeyStore.CallbackHandlerProtection
          CallbackHandler 를 캡슐화한 ProtectionParameter 입니다.
static interface KeyStore.Entry
          KeyStore 엔트리의 종류에 대한 마커 인터페이스입니다.
static interface KeyStore.LoadStoreParameter
          KeyStoreload 파라미터와 store 파라미터에 대한 마커 인터페이스입니다.
static class KeyStore.PasswordProtection
          ProtectionParameter 의 패스워드 베이스의 구현입니다.
static class KeyStore.PrivateKeyEntry
          특정의 PrivateKey 와 대응하는 증명서 체인이 포함된 KeyStore 엔트리입니다.
static interface KeyStore.ProtectionParameter
          키스토어의 보호 파라미터에 대한 마커 인터페이스입니다.
static class KeyStore.SecretKeyEntry
          특정의 SecretKey 가 포함된 KeyStore 엔트리입니다.
static class KeyStore.TrustedCertificateEntry
          신뢰할 수 있는 Certificate 가 포함된 KeyStore 엔트리입니다.
 
생성자 의 개요
protected KeyStore (KeyStoreSpi  keyStoreSpi, Provider  provider, String  type)
          지정된 형태의 KeyStore 객체를 작성해, 그 객체로, 지정된 프로바이더의 구현인 SPI 객체를 캡슐화합니다.
 
메소드의 개요
 Enumeration <String > aliases ()
          이 키스토어의 모든 별명을 일람표 가리킵니다.
 boolean containsAlias (String  alias)
          이 키스토어에, 지정된 별명이 존재할지 어떨지를 판정합니다.
 void deleteEntry (String  alias)
          이 키스토어로부터, 지정된 별명에 의해 식별되는 엔트리를 삭제합니다.
 boolean entryInstanceOf (String  alias, Class <? extends KeyStore.Entry > entryClass)
          지정된 alias 의 키스토어 Entry 가, 지정된 entryClass 의 인스턴스 또는 서브 클래스일지 어떨지를 판정합니다.
 Certificate getCertificate (String  alias)
          지정된 별명에 관련한 증명서를 돌려줍니다.
 String getCertificateAlias (Certificate  cert)
          지정된 증명서와 일치하는 증명서가 있는 최초의 키스토어엔트리의 별명을 돌려줍니다.
 Certificate [] getCertificateChain (String  alias)
          지정된 별명에 관련지을 수 있었던 증명서 체인을 돌려줍니다.
 Date getCreationDate (String  alias)
          지정된 별명에 의해 식별되는 엔트리의 작성일을 돌려줍니다.
static String getDefaultType ()
          Java 시큐리티 프로퍼티 파일로 지정되고 있는 디폴트의 키스토어형을 돌려줍니다.
 KeyStore.Entry getEntry (String  alias, KeyStore.ProtectionParameter  protParam)
          지정된 보호 파라미터를 사용해, 지정된 별명에 대한 키스토어 Entry 를 가져옵니다.
static KeyStore getInstance (String  type)
          지정된 형태의 키스토어객체를 돌려줍니다.
static KeyStore getInstance (String  type, Provider  provider)
          지정된 형태의 키스토어객체를 돌려줍니다.
static KeyStore getInstance (String  type, String  provider)
          지정된 형태의 키스토어객체를 돌려줍니다.
 Key getKey (String  alias, char[] password)
          지정된 패스워드를 사용해, 지정된 별명에 관련한 열쇠를 복원해, 그 열쇠를 돌려줍니다.
 Provider getProvider ()
          이 키스토어의 프로바이더를 돌려줍니다.
 String getType ()
          이 키스토어형을 돌려줍니다.
 boolean isCertificateEntry (String  alias)
          지정된 별명으로 식별되는 엔트리가,setCertificateEntry 를 호출해 작성된 엔트리, 혹은 TrustedCertificateEntry 를 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, true 를 돌려줍니다.
 boolean isKeyEntry (String  alias)
          지정된 별명으로 식별되는 엔트리가,setKeyEntry 를 호출해 작성된 엔트리, 혹은 PrivateKeyEntry 또는 SecretKeyEntry 을 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, true 를 돌려줍니다.
 void load (InputStream  stream, char[] password)
          지정된 입력 스트림로부터 이 키스토어를 로드합니다.
 void load (KeyStore.LoadStoreParameter  param)
          지정된 LoadStoreParameter 를 사용해 이 키스토어를 로드합니다.
 void setCertificateEntry (String  alias, Certificate  cert)
          지정된 별명에, 지정된 신뢰할 수 있는 증명서를 할당합니다.
 void setEntry (String  alias, KeyStore.Entry  entry, KeyStore.ProtectionParameter  protParam)
          키스토어 Entry 가 지정된 별명으로 보존합니다.
 void setKeyEntry (String  alias, byte[] key, Certificate [] chain)
          지정된 별명에, 벌써 보호되고 있는 지정의 열쇠를 할당합니다.
 void setKeyEntry (String  alias, Key  key, char[] password, Certificate [] chain)
          지정된 별명으로 지정된 열쇠를 할당해 지정된 패스워드로 그 열쇠를 보호합니다.
 int size ()
          이 키스토어의 엔트리수를 가져옵니다.
 void store (KeyStore.LoadStoreParameter  param)
          지정된 LoadStoreParameter 를 사용해 이 키스토어를 포함합니다.
 void store (OutputStream  stream, char[] password)
          지정된 출력 스트림에 이 키스토어를 포함해, 지정된 패스워드로 그 무결성을 보호합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

KeyStore

protected KeyStore(KeyStoreSpi  keyStoreSpi,
                   Provider  provider,
                   String  type)
지정된 형태의 KeyStore 객체를 작성해, 그 객체로, 지정된 프로바이더의 구현인 SPI 객체를 캡슐화합니다.

파라미터:
keyStoreSpi - 프로바이더의 구현
provider - 프로바이더
type - 키스토어형
메소드의 상세

getInstance

public static KeyStore  getInstance(String  type)
                            throws KeyStoreException 
지정된 형태의 키스토어객체를 돌려줍니다.

이 메소드는, 최우선의 Provider 로부터 순서에, 등록을 마친 시큐리티 Provider 의 리스트를 횡단(traverse) 합니다. 지정된 타입을 지원하는 최초의 Provider 의 KeyStoreSpi 구현을 캡슐화하는 새로운 KeyStore 객체가 돌려주어집니다.

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
type - 키스토어형. 표준의 키스토어형에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
반환값:
지정된 형태의 키스토어객체
예외:
KeyStoreException - 지정된 형태의 KeyStoreSpi 구현을 지원하는 Provider 가 존재하지 않는 경우
관련 항목:
Provider

getInstance

public static KeyStore  getInstance(String  type,
                                   String  provider)
                            throws KeyStoreException ,
                                   NoSuchProviderException 
지정된 형태의 키스토어객체를 돌려줍니다.

지정된 프로바이더의 KeyStoreSpi 구현을 캡슐화하는 새로운 KeyStore 객체가 돌려주어집니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
type - 키스토어형. 표준의 키스토어형에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
provider - 프로바이더명
반환값:
지정된 형태의 키스토어객체
예외:
KeyStoreException - 지정된 프로바이더로 지정된 형태의 KeyStoreSpi 구현이 없는 경우
NoSuchProviderException - 지정된 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우
IllegalArgumentException - 프로바이더의 이름이 null 나 빈 상태(empty)의 경우
관련 항목:
Provider

getInstance

public static KeyStore  getInstance(String  type,
                                   Provider  provider)
                            throws KeyStoreException 
지정된 형태의 키스토어객체를 돌려줍니다.

지정된 Provider 객체의 KeyStoreSpi 구현을 캡슐화하는 새로운 KeyStore 객체가 돌려주어집니다. 지정된 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.

파라미터:
type - 키스토어형. 표준의 키스토어형에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
provider - 프로바이더
반환값:
지정된 형태의 키스토어객체
예외:
KeyStoreException - 지정된 Provider 객체로 지정된 형태의 KeyStoreSpi 구현이 없는 경우
IllegalArgumentException - 지정된 프로바이더가 null 의 경우
도입된 버젼:
1.4
관련 항목:
Provider

getDefaultType

public static final String  getDefaultType()
Java 시큐리티 프로퍼티 파일로 지정되고 있는 디폴트의 키스토어형을 돌려줍니다. 다만, 그러한 프로퍼티이 존재하지 않는 경우는 「jks」(Java keystore 의 약어)이라고 하는 캐릭터 라인을 돌려줍니다. Java 시큐리티 프로퍼티 파일은, <JAVA_HOME>/lib/security/java.security 라는 이름의 파일에 포함되고 있습니다. <JAVA_HOME> 는 java.home 시스템 프로퍼티의 값을 참조하고 있어, JRE 의 인스톨 디렉토리를 나타냅니다.

디폴트의 키스토어형을 사용하는 것은, 어플리케이션으로 getInstance 메소드를 호출할 때, 하드 코드 된 키스토어형을 사용하지 않는 경우, 및 사용자가 독자적인 키스토어형을 지정하지 않을 때에, 디폴트의 키스토어형을 제공하는 경우입니다.

디폴트의 키스토어형을 변경하려면 , Java 시큐리티 프로퍼티 파일의 keystore.type 시큐리티 프로퍼티의 값을 목적의 키스토어형으로 설정합니다.

반환값:
Java 시큐리티 프로퍼티 파일로 지정된 디폴트의 키스토어형. 해당하는 프로퍼티이 존재하지 않는 경우는, 「jks」의 캐릭터 라인

getProvider

public final Provider  getProvider()
이 키스토어의 프로바이더를 돌려줍니다.

반환값:
이 키스토어의 프로바이더

getType

public final String  getType()
이 키스토어형을 돌려줍니다.

반환값:
이 키스토어형

getKey

public final Key  getKey(String  alias,
                        char[] password)
                 throws KeyStoreException ,
                        NoSuchAlgorithmException ,
                        UnrecoverableKeyException 
지정된 패스워드를 사용해, 지정된 별명에 관련한 열쇠를 복원해, 그 열쇠를 돌려줍니다. 이 열쇠는,setKeyEntry 를 호출하든가, 혹은 PrivateKeyEntry 또는 SecretKeyEntry 를 지정해 setEntry 를 호출하는 것으로 그 별명에 관련지을 수 있고 있을 필요가 있습니다.

파라미터:
alias - 별명
password - 열쇠를 복원하기 위한 패스워드
반환값:
요구되는 열쇠. 지정된 별명이 존재하지 않는지, 열쇠 관련 엔트리를 식별하지 않는 경우는 null
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우
NoSuchAlgorithmException - 열쇠를 복원하기 위한 알고리즘이 발견되지 않는 경우
UnrecoverableKeyException - 지정된 패스워드가 잘못되어 있는 경우 등, 열쇠를 복원할 수 없는 경우

getCertificateChain

public final Certificate [] getCertificateChain(String  alias)
                                        throws KeyStoreException 
지정된 별명에 관련지을 수 있었던 증명서 체인을 돌려줍니다. 이 증명서 체인은,setKeyEntry 를 호출하든가, 혹은 PrivateKeyEntry 를 지정해 setEntry 를 호출하는 것으로 별명에 관련지을 수 있고 있을 필요가 있습니다.

파라미터:
alias - 별명
반환값:
증명서 체인. 차례는, 사용자 증명서가 최초로 루트 증명서 발행국이 최후. 지정된 별명이 존재하지 않는지, 증명서 체인을 포함하지 않은 경우는 null
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

getCertificate

public final Certificate  getCertificate(String  alias)
                                 throws KeyStoreException 
지정된 별명에 관련한 증명서를 돌려줍니다.

지정된 별명에 의해 식별되는 엔트리가,setCertificateEntry 를 호출해 작성된 엔트리, 혹은 TrustedCertificateEntry 를 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, 그 엔트리내에 포함되고 있는 신뢰할 수 있는 증명서가 돌려주어집니다.

지정된 별명에 의해 식별되는 엔트리가,setKeyEntry 를 호출해 작성된 엔트리, 혹은 PrivateKeyEntry 를 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, 그 엔트리내의 증명서 체인의 최초의 요소가 돌려주어집니다.

파라미터:
alias - 별명
반환값:
증명서. 지정된 별명이 존재하지 않는지, 또는 증명서를 포함하지 않는 경우는 null
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

getCreationDate

public final Date  getCreationDate(String  alias)
                           throws KeyStoreException 
지정된 별명에 의해 식별되는 엔트리의 작성일을 돌려줍니다.

파라미터:
alias - 별명
반환값:
이 엔트리의 작성일. 지정된 별명이 존재하지 않는 경우는 null
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

setKeyEntry

public final void setKeyEntry(String  alias,
                              Key  key,
                              char[] password,
                              Certificate [] chain)
                       throws KeyStoreException 
지정된 별명으로 지정된 열쇠를 할당해 지정된 패스워드로 그 열쇠를 보호합니다.

지정된 열쇠가 java.security.PrivateKey 형인 경우, 그 열쇠에는 대응하는 공개키를 증명하는 증명서 체인이 포함되지 않으면 안됩니다.

지정된 별명이 벌써 존재하는 경우는, 거기에 관련한 키스토어 정보는, 지정된 열쇠와 증명서 체인에 의해 오버라이드(override) 됩니다.

파라미터:
alias - 별명
key - 별명에 관련한 열쇠
password - 열쇠를 보호하기 위한 패스워드
chain - 대응하는 공개키의 증명서 체인. 지정된 열쇠가 java.security.PrivateKey 형인 경우에만 필요
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우, 지정된 열쇠를 보호할 수 없는 경우, 또는 이 처리가 하등의 원인으로 실패했을 경우

setKeyEntry

public final void setKeyEntry(String  alias,
                              byte[] key,
                              Certificate [] chain)
                       throws KeyStoreException 
지정된 별명에, 벌써 보호되고 있는 지정의 열쇠를 할당합니다.

보호된 열쇠가 java.security.PrivateKey 형인 경우, 그 열쇠에는 대응하는 공개키를 증명하는 증명서 체인이 포함되지 않으면 안됩니다. 기본이 되는 키스토어의 구현의 형태가 jks 의 경우,key 는 PKCS #8 표준의 정의에 따라 EncryptedPrivateKeyInfo 로서 encode 되고 있을 필요가 있습니다.

지정된 별명이 벌써 존재하는 경우는, 거기에 관련한 키스토어 정보는, 지정된 열쇠와 증명서 체인에 의해 오버라이드(override) 됩니다.

파라미터:
alias - 별명
key - 별명에 관련한 보호 형식의 열쇠
chain - 보호된 열쇠가 java.security.PrivateKey 형인 경우에만 유효한, 대응하는 공개키의 증명서 체인
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우, 또는 이 처리가 하등의 원인으로 실패했을 경우

setCertificateEntry

public final void setCertificateEntry(String  alias,
                                      Certificate  cert)
                               throws KeyStoreException 
지정된 별명에, 지정된 신뢰할 수 있는 증명서를 할당합니다.

지정된 별명에 의해 식별되는 엔트리가,setCertificateEntry 를 호출해 작성된 기존 엔트리, 혹은 TrustedCertificateEntry 를 지정해 setEntry 를 호출해 작성된 기존 엔트리의 언젠가인 경우, 그 기존 엔트리내에 포함되고 있는 신뢰할 수 있는 증명서가, 지정된 증명서로 덧쓰기됩니다.

파라미터:
alias - 별명
cert - 증명서
예외:
KeyStoreException - 키스토어가 초기화되어 있지 않은 경우, 지정된 별명이 벌써 존재하고 있어도 거기에 따라 식별되는 엔트리를 신뢰할 수 있는 증명서를 포함하지 않은 경우, 또는 이 처리가 하등의 원인으로 실패했을 경우

deleteEntry

public final void deleteEntry(String  alias)
                       throws KeyStoreException 
이 키스토어로부터, 지정된 별명에 의해 식별되는 엔트리를 삭제합니다.

파라미터:
alias - 별명
예외:
KeyStoreException - 키스토어가 초기화되어 있지 않은 경우, 또는 엔트리를 삭제할 수 없는 경우

aliases

public final Enumeration <String > aliases()
                                  throws KeyStoreException 
이 키스토어의 모든 별명을 일람표 가리킵니다.

반환값:
별명의 열거
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

containsAlias

public final boolean containsAlias(String  alias)
                            throws KeyStoreException 
이 키스토어에, 지정된 별명이 존재할지 어떨지를 판정합니다.

파라미터:
alias - 별명
반환값:
별명이 존재하는 경우는 true, 그렇지 않은 경우는 false
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

size

public final int size()
               throws KeyStoreException 
이 키스토어의 엔트리수를 가져옵니다.

반환값:
이 키스토어의 엔트리수
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

isKeyEntry

public final boolean isKeyEntry(String  alias)
                         throws KeyStoreException 
지정된 별명으로 식별되는 엔트리가,setKeyEntry 를 호출해 작성된 엔트리, 혹은 PrivateKeyEntry 또는 SecretKeyEntry 을 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, true 를 돌려줍니다.

파라미터:
alias - 판정 대상이 되는 키스토어엔트리의 별명
반환값:
지정된 별명으로 식별되는 엔트리가 열쇠 관련 엔트리인 경우는 true, 그렇지 않은 경우는 false
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

isCertificateEntry

public final boolean isCertificateEntry(String  alias)
                                 throws KeyStoreException 
지정된 별명으로 식별되는 엔트리가,setCertificateEntry 를 호출해 작성된 엔트리, 혹은 TrustedCertificateEntry 를 지정해 setEntry 를 호출해 작성된 엔트리의 언젠가인 경우, true 를 돌려줍니다.

파라미터:
alias - 판정 대상이 되는 키스토어엔트리의 별명
반환값:
지정된 별명으로 식별되는 엔트리에 신뢰할 수 있는 증명서 엔트리가 포함되어 있는 경우는 true, 그렇지 않은 경우는 false
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

getCertificateAlias

public final String  getCertificateAlias(Certificate  cert)
                                 throws KeyStoreException 
지정된 증명서와 일치하는 증명서가 있는 최초의 키스토어엔트리의 별명을 돌려줍니다.

이 메소드는, 지정된 증명서를 각 키스토어엔트리와 조합합니다. 처리 대상의 엔트리가,setCertificateEntry 를 호출해 작성된 엔트리, 혹은 TrustedCertificateEntry 를 지정해 setEntry 를 호출해 작성된 엔트리인 경우, 지정된 증명서는 그 엔트리의 증명서라고 비교됩니다.

처리 대상의 엔트리가,setKeyEntry 를 호출해 작성된 엔트리, 혹은 PrivateKeyEntry 를 지정해 setEntry 를 호출해 작성된 엔트리인 경우, 지정된 증명서는 그 엔트리의 증명서 체인의 최초의 요소라고 비교됩니다.

파라미터:
cert - 조합하는 증명서
반환값:
일치하는 증명서를 포함한 최초의 엔트리의 별명. 그러한 엔트리가 이 키스토어에 존재하지 않는 경우는 null
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우

store

public final void store(OutputStream  stream,
                        char[] password)
                 throws KeyStoreException ,
                        IOException ,
                        NoSuchAlgorithmException ,
                        CertificateException 
지정된 출력 스트림에 이 키스토어를 포함해, 지정된 패스워드로 그 무결성을 보호합니다.

파라미터:
stream - 이 키스토어를 기입하는 출력 스트림
password - 키스토어의 무결성을 검사하기 위한 패스워드
예외:
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우
IOException - 데이터에 입출력의 문제가 있었을 경우
NoSuchAlgorithmException - 적절한 데이터 무결성 알고리즘이 발견되지 않았던 경우
CertificateException - 키스토어데이타에 포함되는 어느 증명서도 포함할 수 없었던 경우

store

public final void store(KeyStore.LoadStoreParameter  param)
                 throws KeyStoreException ,
                        IOException ,
                        NoSuchAlgorithmException ,
                        CertificateException 
지정된 LoadStoreParameter 를 사용해 이 키스토어를 포함합니다.

파라미터:
param - 키스토어의 포함 방법을 지정한 LoadStoreParameter. null 도 지정 가능
예외:
IllegalArgumentException - 지정된 LoadStoreParameter 입력이 인식되지 않는 경우
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우
IOException - 데이터에 입출력의 문제가 있었을 경우
NoSuchAlgorithmException - 적절한 데이터 무결성 알고리즘이 발견되지 않았던 경우
CertificateException - 키스토어데이타에 포함되는 어느 증명서도 포함할 수 없었던 경우
도입된 버젼:
1.5

load

public final void load(InputStream  stream,
                       char[] password)
                throws IOException ,
                       NoSuchAlgorithmException ,
                       CertificateException 
지정된 입력 스트림로부터 이 키스토어를 로드합니다.

패스워드를 지정하면(자), 키스토어가 하드웨어 토큰 디바이스상에 존재하는 경우 등에, 키스토어의 락 해제나 키스토어데이타의 무결성 검사를 할 수 있습니다. 무결성 검사용의 패스워드가 지정되지 않았던 경우, 무결성 검사는 실행되지 않습니다.

빈 상태(empty)의 키스토어를 작성하는 경우, 혹은 키스토어를 스트림로부터 초기화할 수 없는 경우는,stream 인수로서 null 를 건네줍니다.

이 키스토어가 벌써 로드 되고 있는 경우, 이 키스토어는 다시 초기화되어 지정된 스트림로부터 다시 로드합니다.

파라미터:
stream - 키스토어의 로드원의 입력 스트림 또는 null
password - 키스토어의 무결성 검사용 패스워드, 키스토어의 락 해제용 패스워드, 또는 null
예외:
IOException - 키스토어데이타로 입출력 또는 형식에 관한 문제가 발생했을 경우, 패스워드가 필요해요로 지정되지 않았던 경우, 또는 지정된 패스워드가 잘못되어 있는 경우. 패스워드가 올바르지 않았기(위해)때문에 에러가 발생했을 경우,IOException원인UnrecoverableKeyException
NoSuchAlgorithmException - 키스토어의 무결성을 검사하는 알고리즘이 발견되지 않았던 경우
CertificateException - 키스토어의 어느 증명서도 로드할 수 없었던 경우

load

public final void load(KeyStore.LoadStoreParameter  param)
                throws IOException ,
                       NoSuchAlgorithmException ,
                       CertificateException 
지정된 LoadStoreParameter 를 사용해 이 키스토어를 로드합니다.

이 키스토어가 벌써 로드 되고 있는 경우, 이 키스토어는 다시 초기화되어 지정된 스트림로부터 다시 로드합니다.

파라미터:
param - 키스토어의 로드 방법을 지정한 LoadStoreParameter. null 도 지정 가능
예외:
IllegalArgumentException - 지정된 LoadStoreParameter 입력이 인식되지 않는 경우
IOException - 키스토어데이타에 입출력 또는 형식의 문제가 있었을 경우. ProtectionParameter 가 올바르지 않았던 (예를 들어 패스워드가 올바르지 않았다) 위해(때문에) 에러가 발생했을 경우,IOException원인UnrecoverableKeyException
NoSuchAlgorithmException - 키스토어의 무결성을 검사하는 알고리즘이 발견되지 않았던 경우
CertificateException - 키스토어의 어느 증명서도 로드할 수 없었던 경우
도입된 버젼:
1.5

getEntry

public final KeyStore.Entry  getEntry(String  alias,
                                     KeyStore.ProtectionParameter  protParam)
                              throws NoSuchAlgorithmException ,
                                     UnrecoverableEntryException ,
                                     KeyStoreException 
지정된 보호 파라미터를 사용해, 지정된 별명에 대한 키스토어 Entry 를 가져옵니다.

파라미터:
alias - 이 별명에 대한 키스토어 Entry 를 취득
protParam - Entry 의 보호에 사용되는 ProtectionParameter. null 도 지정 가능
반환값:
지정된 별명에 대한 키스토어 Entry. 그러한 엔트리가 존재하지 않는 경우는 null
예외:
NullPointerException - aliasnull 의 경우
NoSuchAlgorithmException - 엔트리를 복원하기 위한 알고리즘이 발견되지 않는 경우
UnrecoverableEntryException - 지정되었다 protParam 가 불충분 또는 무효인 경우
UnrecoverableKeyException - 엔트리가 PrivateKeyEntry 또는 SecretKeyEntry 로, 지정된 protParam 에 열쇠의 복원에 필요한 정보가 포함되지 않은 경우 (예를 들어 패스워드가 잘못하고 있는 경우)
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우
도입된 버젼:
1.5
관련 항목:
setEntry(String, KeyStore.Entry, KeyStore.ProtectionParameter)

setEntry

public final void setEntry(String  alias,
                           KeyStore.Entry  entry,
                           KeyStore.ProtectionParameter  protParam)
                    throws KeyStoreException 
키스토어 Entry 가 지정된 별명으로 보존합니다. 보호 파라미터는,Entry 를 보호하기 위해서 사용됩니다.

지정된 별명의 엔트리가 벌써 존재하는 경우, 그 엔트리는 덧쓰기됩니다.

파라미터:
alias - 이 별명으로 키스토어 Entry 를 보존
entry - 보존하는 Entry
protParam - Entry 의 보호에 사용되는 ProtectionParameter. null 도 지정 가능
예외:
NullPointerException - alias 또는 entrynull 의 경우
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우, 또는 이 처리가 하등의 원인으로 실패했을 경우
도입된 버젼:
1.5
관련 항목:
getEntry(String, KeyStore.ProtectionParameter)

entryInstanceOf

public final boolean entryInstanceOf(String  alias,
                                     Class <?  extends KeyStore.Entry > entryClass)
                              throws KeyStoreException 
지정된 alias 의 키스토어 Entry 가, 지정된 entryClass 의 인스턴스 또는 서브 클래스일지 어떨지를 판정합니다.

파라미터:
alias - 별명
entryClass - 엔트리 클래스
반환값:
지정된 alias 의 키스토어 Entry 가, 지정된 entryClass 의 인스턴스 또는 서브 클래스인 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - alias 또는 entryClassnull 의 경우
KeyStoreException - 키스토어가 초기화 (로드)되어 있지 않은 경우
도입된 버젼:
1.5

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.