JavaTM Platform
Standard Ed. 6

java.security.cert
클래스 CertStore

java.lang.Object 
  상위를 확장 java.security.cert.CertStore


public class CertStore
extends Object

리포지터리(repository)로부터 CertificateCRL 를 취득하는 클래스입니다.  

이 클래스는, 프로바이더 베이스의 아키텍쳐(architecture)를 사용합니다. CertStore 를 작성하려면 , static getInstance 메소드 가운데 1 개를 호출해, 작성하는 CertStore 의 형태, 적용 가능한 초기화 파라미터, 프로바이더명 (생략 가능)을 건네줍니다.  

CertStore 를 작성하면(자),getCertificates 메소드와 getCRLs 메소드를 호출하는 것으로 CertificateCRL 를 취득할 수가 있습니다.  

비공개키와 신뢰할 수 있는 증명서의 캐쉬에 액세스 하는 KeyStore 과는 달리,CertStore 는 거대하게 될 우려가 있는, 신뢰되어 있지 않은 증명서와 CRL 의 리포지터리(repository)에 액세스 하도록(듯이) 설계되고 있습니다. 예를 들어,CertStore 의 LDAP 구현에서는, LDAP 프로토콜과 RFC 서비스 속성으로서 정의된 schema를 사용해, 1 개(살) 이상의 디렉토리에 포함된 증명서와 CRL 에 액세스 할 수 있습니다. 표준의 CertStore 형의 상세한 것에 대하여는, 「Java Certification Path API 개발자 안내」의 부록 A 를 참조해 주세요.  

병행 액세스  

CertStore 객체의 모든 public 메소드는, thread 세이프가 아니면 안됩니다. 즉, 단일의 (또는 복수의) CertStore 객체상에서, 복수의 thread가 이러한 메소드를 병행해 호출해도, 악영향은 없습니다. 이것에 의해, 예를 들어 CertPathBuilder 는, CRL 를 검색하면서, 동시에 다른 증명서를 검색할 수가 있습니다.  

또, 이 클래스의 static 메소드는, thread 세이프인 것이 보증되고 있습니다. 이 클래스에서 정의되고 있는 static 메소드는, 악영향을 주는 일 없이, 복수 thread가 병행해 호출할 수가 있습니다.

도입된 버젼:
1.4

생성자 의 개요
protected CertStore (CertStoreSpi  storeSpi, Provider  provider, String  type, CertStoreParameters  params)
          지정된 형태의 CertStore 객체를 작성해, 지정된 프로바이더의 구현 (SPI 객체)을 거기에 캡슐화합니다.
 
메소드의 개요
 Collection <? extends Certificate > getCertificates (CertSelector  selector)
          지정한 셀렉터에 일치하는 CertificateCollection 를 돌려줍니다.
 CertStoreParameters getCertStoreParameters ()
          CertStore 를 초기화하기 위한 파라미터를 돌려줍니다.
 Collection <? extends CRL > getCRLs (CRLSelector  selector)
          지정한 셀렉터에 일치하는 CRLCollection 를 돌려줍니다.
static String getDefaultType ()
          Java 시큐리티 프로퍼티 파일로 지정되고 있는 디폴트의 CertStore 형을 돌려줍니다.
static CertStore getInstance (String  type, CertStoreParameters  params)
          지정한 CertStore 형을 구현해, 지정한 파라미터로 초기화되는 CertStore 를 돌려줍니다.
static CertStore getInstance (String  type, CertStoreParameters  params, Provider  provider)
          지정된 CertStore 형을 구현하는 CertStore 객체를 돌려줍니다.
static CertStore getInstance (String  type, CertStoreParameters  params, String  provider)
          지정된 CertStore 형을 구현하는 CertStore 객체를 돌려줍니다.
 Provider getProvider ()
          이 CertStore 의 프로바이더를 돌려줍니다.
 String getType ()
          이 CertStore 의 형태를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

CertStore

protected CertStore(CertStoreSpi  storeSpi,
                    Provider  provider,
                    String  type,
                    CertStoreParameters  params)
지정된 형태의 CertStore 객체를 작성해, 지정된 프로바이더의 구현 (SPI 객체)을 거기에 캡슐화합니다.

파라미터:
storeSpi - 프로바이더의 구현
provider - 프로바이더
type - 타입
params - 초기화 파라미터. null 도 가능
메소드의 상세

getCertificates

public final Collection <?  extends Certificate > getCertificates(CertSelector  selector)
                                                        throws CertStoreException 
지정한 셀렉터에 일치하는 CertificateCollection 를 돌려줍니다. 셀렉터에 일치하는 Certificate 가 없는 경우는, 빈 상태(empty)의 Collection 가 돌려주어집니다.  

CertStore 의 형태에 따라서는, 셀렉터에 일치하는 Certificate모든 것이 결과적으로 얻을 수 있는 Collection 에 포함되지 않는 것이 있습니다. 예를 들어, LDAP CertStore 는, 디렉토리내의 모든 엔트리를 검색하지 않는 경우가 있습니다. 대신에, 검색하는 Certificate 가 포함된다고 생각되는 엔트리에 좁혀 검색합니다.  

CertStore 안에는, 증명서를 찾아내기 위한 특정의 조건을 포함한 비 null 의 CertSelector 가 제공되지 않는 한,CertStoreException 를 throw 하는 것이 있습니다 (특히 LDAP CertStore). 발행자나 피인증자의 이름은 특별히 도움이 되는 조건이 됩니다.

파라미터:
selector - 반환되는 Certificate 를 선택하기 위해서 사용하는 CertSelector. null 를 지정하면(자), 지원되고 있는 경우는 모든 Certificate 가 반환된다
반환값:
지정된 셀렉터에 일치하는 CertificateCollection. null 는 되지 않는다
예외:
CertStoreException - 예외가 발생하는 경우

getCRLs

public final Collection <?  extends CRL > getCRLs(CRLSelector  selector)
                                        throws CertStoreException 
지정한 셀렉터에 일치하는 CRLCollection 를 돌려줍니다. 셀렉터에 일치하는 CRL 가 없는 경우는, 빈 상태(empty)의 Collection 가 돌려주어집니다.  

CertStore 의 형태에 따라서는, 셀렉터에 일치하는 CRL 의 모든 것이 결과적으로 얻을 수 있는 Collection 에 포함되지 않는 것이 있습니다. 예를 들어, LDAP CertStore 는, 디렉토리내의 모든 엔트리를 검색하지 않는 경우가 있습니다. 대신에, 검색하는 CRL 가 포함된다고 생각되는 엔트리에 좁혀 검색합니다.  

CertStore 안에는, 증명서를 찾아내기 위한 특정의 조건을 포함한 비 null 의 CRLSelector 가 제공되지 않는 한,CertStoreException 를 throw 하는 것이 있습니다 (특히 LDAP CertStore). 발행자의 이름이나 체크 대상의 증명서는 특별히 도움이 됩니다.

파라미터:
selector - 반환되는 CRL 를 선택하기 위해서 사용하는 CRLSelector. null 를 지정하면(자), 지원되고 있는 경우는 모든 CRL 가 반환된다
반환값:
지정된 셀렉터에 일치하는 CRLCollection. null 는 되지 않는다
예외:
CertStoreException - 예외가 발생하는 경우

getInstance

public static CertStore  getInstance(String  type,
                                    CertStoreParameters  params)
                             throws InvalidAlgorithmParameterException ,
                                    NoSuchAlgorithmException 
지정한 CertStore 형을 구현해, 지정한 파라미터로 초기화되는 CertStore 를 돌려줍니다.

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

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

반환된 CertStore 는 지정된 CertStoreParameters 로 초기화됩니다. 필요한 파라미터의 형태는,CertStore 의 형태에 따라서 다릅니다. CertStoreParameters 객체의 복제를 지정하고 있는 것에 주의해 주세요.

파라미터:
type - 요구된 CertStore 형의 이름. 표준의 형태에 대해서는,「Java Certification Path API 개발자 안내」 의 부록 A 를 참조
params - 초기화 파라미터. null 도 가능
반환값:
지정된 CertStore 형을 구현하는 CertStore 객체
예외:
NoSuchAlgorithmException - 지정된 형태의 CertStoreSpi 구현을 지원하는 Provider 가 존재하지 않는 경우
InvalidAlgorithmParameterException - 지정되었다 초기화 파라미터가 이 CertStore 에 대해서 올바르지 않은 경우
관련 항목:
Provider

getInstance

public static CertStore  getInstance(String  type,
                                    CertStoreParameters  params,
                                    String  provider)
                             throws InvalidAlgorithmParameterException ,
                                    NoSuchAlgorithmException ,
                                    NoSuchProviderException 
지정된 CertStore 형을 구현하는 CertStore 객체를 돌려줍니다.

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

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

반환된 CertStore 는 지정된 CertStoreParameters 로 초기화됩니다. 필요한 파라미터의 형태는,CertStore 의 형태에 따라서 다릅니다. CertStoreParameters 객체의 복제를 지정하고 있는 것에 주의해 주세요.

파라미터:
type - 요구된 CertStore 형. 표준의 형태에 대해서는,「Java Certification Path API 개발자 안내」 의 부록 A 를 참조
params - 초기화 파라미터. null 도 가능
provider - 프로바이더명
반환값:
지정된 형태를 구현하는 CertStore 객체
예외:
NoSuchAlgorithmException - 지정된 프로바이더로 지정된 형태의 CertStoreSpi 구현이 없는 경우
InvalidAlgorithmParameterException - 지정된 초기화 파라미터가 이 CertStore 에 대해서 올바르지 않은 경우
NoSuchProviderException - 지정된 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우
IllegalArgumentException - provider 가 null 나 빈 상태(empty)의 경우
관련 항목:
Provider

getInstance

public static CertStore  getInstance(String  type,
                                    CertStoreParameters  params,
                                    Provider  provider)
                             throws NoSuchAlgorithmException ,
                                    InvalidAlgorithmParameterException 
지정된 CertStore 형을 구현하는 CertStore 객체를 돌려줍니다.

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

반환된 CertStore 는 지정된 CertStoreParameters 로 초기화됩니다. 필요한 파라미터의 형태는,CertStore 의 형태에 따라서 다릅니다. CertStoreParameters 객체의 복제를 지정하고 있는 것에 주의해 주세요.

파라미터:
type - 요구된 CertStore 형. 표준의 형태에 대해서는,「Java Certification Path API 개발자 안내」 의 부록 A 를 참조
params - 초기화 파라미터. null 도 가능
provider - 프로바이더
반환값:
지정된 형태를 구현하는 CertStore 객체
예외:
NoSuchAlgorithmException - 지정된 Provider 객체로 지정된 형태의 CertStoreSpi 구현이 없는 경우
InvalidAlgorithmParameterException - 지정된 초기화 파라미터가 이 CertStore 에 대해서 올바르지 않은 경우
IllegalArgumentException - provider 가 null 의 경우
관련 항목:
Provider

getCertStoreParameters

public final CertStoreParameters  getCertStoreParameters()
CertStore 를 초기화하기 위한 파라미터를 돌려줍니다. 돌려주어지기 전의CertStoreParameters 객체는 복제입니다.

반환값:
CertStore 를 초기화하는 파라미터. null 도 가능

getType

public final String  getType()
CertStore 의 형태를 돌려줍니다.

반환값:
CertStore 의 형태

getProvider

public final Provider  getProvider()
CertStore 의 프로바이더를 돌려줍니다.

반환값:
CertStore 의 프로바이더

getDefaultType

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

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

디폴트의 CertStore 형을 변경하려면 , Java 시큐리티 프로퍼티 파일의 certstore.type 시큐리티 프로퍼티의 값을 목적의 형태로 설정합니다.

반환값:
Java 시큐리티 프로퍼티 파일로 지정된 디폴트의 CertStore 형. 해당하는 프로퍼티이 존재하지 않는 경우는, 캐릭터 라인 「LDAP」를 돌려준다

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 도 참조해 주세요.