|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--java.security.cert.CertificateFactory
증명서 팩토리의 기능을 정의합니다. 증명서 팩토리는 증명서 오브젝트, 증명서 패스 (CertPath
) 및 증명서의 취소 리스트 (CRL) 오브젝트를 부호로부터 생성하기 위해서 사용합니다.
복수의 증명서로부터 되는 부호에서는 무관계라고 생각되는 증명서의 콜렉션을 구문 분석 할 경우에 generateCertificates
를 사용합니다. 그렇지 않은 경우는 CertPath
(증명서 최인)를 생성해 CertPathValidator
로 검증할 경우에 generateCertPath
를 사용합니다.
X. 509 의 증명서 팩토리는 java.security.cert.X509Certificate
의 인스턴스인 증명서와java.security.cert.X509CRL
의 인스턴스인 CRL 를 돌려줄 필요가 있습니다.
다음의 예는 Base64 로 encode 된 증명서를 가지는 파일을 읽어냅니다. 이러한 증명서는 선두가 -----BEGIN CERTIFICATE----- 에 의해 단락지어져 종단이 -----END CERTIFICATE----- 에 의해 단락지어집니다. generateCertificate
의 각 호출이 1 개의 증명서만을 사용해, 입력 스트림의 읽기 위치가 파일내의 다음의 증명서에 놓여지도록(듯이),FileInputStream
(mark
및 reset
를 서포트하고 있지 않다)를 BufferedInputStream
(이러한 메소드를 서포트)로 변환합니다.
FileInputStream fis = new FileInputStream(filename); BufferedInputStream bis = new BufferedInputStream(fis); CertificateFactory cf = CertificateFactory.getInstance("X. 509"); while (bis.available() > 0) { Certificate cert = cf.generateCertificate(bis); System.out.println(cert.toString()); }
다음의 예는 파일에 저장되고 있는 PKCS#7 형식의 증명서 응답을 구문 분석 해, 모든 증명서를 추출합니다.
FileInputStream fis = new FileInputStream(filename); CertificateFactory cf = CertificateFactory.getInstance("X. 509"); Collection c = cf.generateCertificates(fis); Iterator i = c.iterator(); while (i.hasNext()) { Certificate cert = (Certificate) i.next(); System.out.println(cert); }
Certificate
,
X509Certificate
,
CertPath
,
CRL
,
X509CRL
생성자의 개요 | |
protected |
CertificateFactory (CertificateFactorySpi certFacSpi,
Provider provider,
String type)
지정된 타입의 CertificateFactory 오브젝트를 작성해, 지정된 프로바이더의 구현 (SPI 오브젝트)을 거기에 캡슐화합니다. |
메소드의 개요 | |
Certificate |
generateCertificate (InputStream inStream)
증명서 오브젝트를 생성해, 입력 스트림 inStream 로부터 읽어내진 데이터를 사용해 그 증명서 오브젝트를 초기화합니다.
|
Collection |
generateCertificates (InputStream inStream)
지정된 입력 스트림 inStream 로부터 읽어내진 증명서의 코레크션뷰를 돌려줍니다. |
CertPath |
generateCertPath (InputStream inStream)
CertPath 오브젝트를 생성해,InputStream 인 inStream 로부터 읽힌 데이터로 초기화합니다. |
CertPath |
generateCertPath (InputStream inStream,
String encoding)
CertPath 오브젝트를 생성해,InputStream 인 inStream 로부터 읽힌 데이터로 초기화합니다. |
CertPath |
generateCertPath (List certificates)
CertPath 오브젝트를 생성해,Certificate 의 List 로 초기화합니다.
|
CRL |
generateCRL (InputStream inStream)
증명서의 취소 리스트 (CRL) 오브젝트를 생성해, 입력 스트림 inStream 로부터 읽어내진 데이터를 사용해 초기화합니다.
|
Collection |
generateCRLs (InputStream inStream)
지정된 입력 스트림 inStream 로부터 읽어내진 CRL 의 코레크션뷰를 돌려줍니다. |
Iterator |
getCertPathEncodings ()
이 증명서 팩토리로 서포트하는 CertPath 의 encode의 반복을 돌려줍니다. |
static CertificateFactory |
getInstance (String type)
지정된 타입의 증명서를 구현하는 증명서 팩토리 오브젝트를 작성합니다. |
static CertificateFactory |
getInstance (String type,
Provider provider)
지정한 증명서 타입으로, 지정한 프로바이더로부터 증명서 팩토리 오브젝트를 생성합니다. |
static CertificateFactory |
getInstance (String type,
String provider)
지정된 증명서 타입의 증명서 팩토리 오브젝트를, 지정된 프로바이더로부터 작성합니다. |
Provider |
getProvider ()
이 증명서 팩토리의 프로바이더를 돌려줍니다. |
String |
getType ()
이 증명서 팩토리에 관련한 증명서 타입의 이름을 돌려줍니다. |
클래스 java.lang. Object 에서 상속받은 메소드 |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자의 상세 |
protected CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)
certFacSpi
- 프로바이더의 구현provider
- 프로바이더type
- 증명서 타입메소드의 상세 |
public static final CertificateFactory getInstance(String type) throws CertificateException
type
- 요구된 증명서 타입의 이름. 표준의 증명서 타입의 자세한 것은 「Java 암호화 아키텍쳐 API 사양 & 레퍼런스」의 부록 A 를 참조
CertificateException
- 요구된 증명서 타입이, 디폴트의 프로바이더 패키지에도, 검색한 것 외의 프로바이더 패키지에도 없는 경우public static final CertificateFactory getInstance(String type, String provider) throws CertificateException , NoSuchProviderException
type
- 증명서 타입provider
- 프로바이더명
CertificateException
- 증명서 타입이, 지정된 프로바이더에 없는 경우
NoSuchProviderException
- 프로바이더가 설정되어 있지 않은 경우Provider
public static final CertificateFactory getInstance(String type, Provider provider) throws CertificateException
provider
는 등록되어 있을 필요는 없습니다.
type
- 증명서 타입provider
- 프로바이더
CertificateException
- 증명서 타입이, 지정된 프로바이더에 없는 경우
IllegalArgumentException
- provider
가 null 의 경우Provider
public final Provider getProvider()
public final String getType()
public final Certificate generateCertificate(InputStream inStream) throws CertificateException
inStream
로부터 읽어내진 데이터를 사용해 그 증명서 오브젝트를 초기화합니다.
이 증명서 팩토리에 의해 서포트되고 있는 특수 형식의 증명서를 이용하기 위해서, 돌려주어진 증명서 오브젝트를 대응하는 증명서 클래스에 형태 캐스트 할 수 있습니다. 예를 들어, 이 증명서 팩토리가 X. 509 증명서를 구현하는 경우, 돌려주어진 증명서 오브젝트를 X509Certificate
클래스에 형태 캐스트 할 수 있습니다.
X. 509 증명서의 증명서 팩토리의 경우는 inStream
로 제공되는 증명서는 DER 로 encode 될 필요가 있어, 바이너리 또는 프린트 가능 (Base64)인 부호로 제공되는 일도 있습니다. 증명서가 Base64 의 부호로 제공되었을 경우, 선두는 -----BEGIN CERTIFICATE----- 에 의해 단락지어져 종단은 -----END CERTIFICATE----- 에 의해 단락지어질 필요가 있습니다.
지정된 입력 스트림이 mark
및 reset
를 서포트하고 있지 않는 경우, 이 메소드는 입력 스트림 전체를 사용합니다. 그렇지 않은 경우, 이 메소드가 불려 갈 때마다 증명서를 1 개 소비해, 입력 스트림의 read 위치는 고유의 end-of-certificate 마커의 나중에 다음에 사용 가능한 바이트로 설정됩니다. 고유의 end-of-certificate 마커 (EOF 이외)가 입력 스트림의 데이터에 포함되지 않고 증명서가 구문 분석 된 후에 데이터가 계속되는 경우는 CertificateException
가 슬로우 됩니다.
inStream
- 증명서 데이터를 가지는 입력 스트림
CertificateException
- 구문 분석 에러의 경우public final Iterator getCertPathEncodings()
CertPath
의 encode의 반복을 돌려줍니다. 반복의 처음은 디폴트의 encode가 됩니다. 표준의 encode명과 그 형식에 대해서는 「Java Certification Path API Programmer's Guide」 의 부록 A 를 참조해 주세요.
돌려주어진 Iterator
를 remove
메소드로 변경하려고 하면(자),UnsupportedOperationException
가 슬로우 됩니다.
CertPath
의 encode (String
로서)의 이름에 대한 Iterator
public final CertPath generateCertPath(InputStream inStream) throws CertificateException
CertPath
오브젝트를 생성해,InputStream
인 inStream 로부터 읽힌 데이터로 초기화합니다. 데이터는 디폴트의 encode가 되고 있으면(자) 가정됩니다. 디폴트의 encode의 이름은 getCertPathEncodings
메소드로 돌려주어지는 Iterator
의 최초의 요소가 됩니다.
inStream
- 데이터가 포함되는 InputStream
InputStream
로부터의 데이터로 초기화된 CertPath
CertificateException
- 복호화(decode)중에 예외가 발생했을 경우public final CertPath generateCertPath(InputStream inStream, String encoding) throws CertificateException
CertPath
오브젝트를 생성해,InputStream
인 inStream 로부터 읽힌 데이터로 초기화합니다. 데이터는 지정한 encode가 되고 있으면(자) 가정됩니다. 표준의 encode명과 그 형식에 대해서는 「Java Certification Path API Programmer's Guide」 의 부록 A 를 참조해 주세요.
inStream
- 데이터가 포함되는 InputStream
encoding
- 데이터로 사용되는 encode
InputStream
로부터의 데이터로 초기화된 CertPath
CertificateException
- 복호화(decode)중에 예외가 발생했을 경우, 혹은 지정한 encode가 서포트되어 있지 않은 경우public final CertPath generateCertPath(List certificates) throws CertificateException
CertPath
오브젝트를 생성해,Certificate
의 List
로 초기화합니다.
제공되는 증명서는 CertificateFactory
로 서포트되고 있는 종류가 아니면 안됩니다.
certificates
- Certificate
의 List
CertPath
CertificateException
- 예외가 발생하는 경우public final Collection generateCertificates(InputStream inStream) throws CertificateException
inStream
로부터 읽어내진 증명서의 코레크션뷰를 돌려줍니다. 코레크션뷰는 비었을 경우도 있습니다.
이 증명서 팩토리에 의해 서포트되고 있는 특수한 형식의 증명서를 이용하기 위해서, 돌려주어진 코레크션뷰의 각 요소를 대응하는 증명서 클래스에 형태 캐스트 할 수 있습니다. 예를 들어, 이 증명서 팩토리가 X. 509 증명서를 구현하는 경우, 돌려주어진 콜렉션내의 요소를 X509Certificate
클래스에 형태 캐스트 할 수 있습니다.
X. 509 증명서로 사용하는 증명서 팩토리의 경우,inStream
에는 generateCertificate
로 설명되고 있는 형식의, DER 로 encode 된 일련의 증명서가 저장됩니다. 또,inStream
에는 PKCS#7 증명 연쇄가 저장됩니다. 이것은 PKCS#7 SignedData 오브젝트이며, 상위 필드는 certificates 뿐입니다. 특히, 서명과 내용은 무시됩니다. 이 형식의 경우, 복수의 증명서를 1 회에 다운로드할 수 있습니다. 증명서가 없는 경우는 하늘의 콜렉션이 돌려주어집니다.
지정된 입력 스트림이 mark
및 reset
를 서포트하고 있지 않는 경우, 이 메소드는 입력 스트림 전체를 사용합니다.
inStream
- 증명서를 가지는 입력 스트림
CertificateException
- 구문 분석 에러의 경우public final CRL generateCRL(InputStream inStream) throws CRLException
inStream
로부터 읽어내진 데이터를 사용해 초기화합니다.
이 증명서 팩토리에 의해 서포트되고 있는 특수한 형식의 CRL 를 이용하기 위해서, 돌려주어진 CRL 오브젝트를 대응하는 CRL 클래스에 형태 캐스트 할 수 있습니다. 예를 들어, 이 증명서 팩토리가 X. 509 CRL 를 구현하는 경우, 돌려주어진 CRL 오브젝트를 X509CRL
클래스에 형태 캐스트 할 수 있습니다.
지정된 입력 스트림이 mark
및 reset
를 서포트하고 있지 않는 경우, 이 메소드는 입력 스트림 전체를 사용합니다. 그렇지 않은 경우, 이 메소드가 불려 갈 때마다 CRL 를 1 개 소비해, 입력 스트림의 read 위치는 고유의 end-of-CRL 마커의 나중에 다음에 사용 가능한 바이트로 설정됩니다. 고유의 end-of-CRL 마커 (EOF 이외)가 입력 스트림의 데이터에 포함되지 않고 증명서가 구문 분석 된 후에 데이터가 계속되는 경우는 CRLException
가 슬로우 됩니다.
inStream
- CRL 데이터를 가지는 입력 스트림
CRLException
- 구문 분석 에러의 경우public final Collection generateCRLs(InputStream inStream) throws CRLException
inStream
로부터 읽어내진 CRL 의 코레크션뷰를 돌려줍니다. 코레크션뷰는 비었을 경우도 있습니다.
이 증명서 팩토리에 의해 서포트되고 있는 특수한 형식의 CRL 를 이용하기 위해서, 돌려주어진 코레크션뷰의 각 요소를 대응하는 CRL 클래스에 형태 캐스트 할 수 있습니다. 예를 들어, 이 증명서 팩토리가 X. 509 CRL 를 구현하는 경우, 돌려주어진 콜렉션내의 요소를 X509CRL
클래스에 형태 캐스트 할 수 있습니다.
X. 509 CRL 의 증명서 팩토리의 경우는 inStream
에는 DER 로 encode 된 일련의 CRL 가 저장됩니다. 또,inStream
에는 PKCS#7 CRL 세트가 저장됩니다. 이것은 PKCS#7 SignedData 오브젝트로, 상위 필드는 crls 뿐입니다. 특히, 서명과 내용은 무시됩니다. 이 형식의 경우, 복수의 CRL 를 1 회에 다운로드할 수 있습니다. CRL 가 없는 경우는 하늘의 콜렉션이 돌려주어집니다.
지정된 입력 스트림이 mark
및 reset
를 서포트하고 있지 않는 경우, 이 메소드는 입력 스트림 전체를 사용합니다.
inStream
- CRL 를 가지는 입력 스트림
CRLException
- 구문 분석 에러의 경우
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.