CertificateFactory — 인증서 팩토리
CertificateFactory — 인증서 팩토리
인코딩에서 인증서, 인증 경로(CertPath), 인증서 폐기 목록(CRL) 객체를 생성하는 데 사용하는 인증서 팩토리의 기능을 정의하는 클래스예요. 팩토리는 여러 인증서를 다룰 수 있습니다.
본문
여러 인증서로 구성된 인코딩에서, 아마 관련이 없는 인증서들의 집합을 파싱하려면 generateCertificates를 사용해요. 반면 generateCertPath는 CertPath(인증서 체인)를 생성하고 이후 CertPathValidator로 검증하고 싶을 때 사용해요.
X.509용 인증서 팩토리는 java.security.cert.X509Certificate 인스턴스인 인증서와 java.security.cert.X509CRL 인스턴스인 CRL을 반환해야 해요. Java 플랫폼의 모든 구현은 표준 CertificateFactory 유형인 X.509와 표준 CertPath 인코딩인 PKCS7, PkiPath를 지원해야 해요.
주요 메서드
public static CertificateFactory getInstance(String type) throws CertificateException— 지정된 유형의 인증서 팩토리를 반환해요.public static CertificateFactory getInstance(String type, String provider) throws CertificateException, NoSuchProviderException— 지정된 유형과 프로바이더의 인증서 팩토리를 반환해요.public static CertificateFactory getInstance(String type, Provider provider) throws CertificateException— 지정된 유형과Provider객체의 인증서 팩토리를 반환해요.public final Provider getProvider()— 이 인증서 팩토리의 프로바이더를 반환해요.public final String getType()— 이 인증서 팩토리의 유형 이름을 반환해요.public final Certificate generateCertificate(InputStream inStream) throws CertificateException— 입력 스트림에서 인증서를 생성해요.public final Collection<? extends Certificate> generateCertificates(InputStream inStream) throws CertificateException— 입력 스트림에서 인증서 컬렉션을 생성해요.public final CertPath generateCertPath(InputStream inStream) throws CertificateException— 입력 스트림에서 인증 경로(CertPath)를 생성해요.public final CertPath generateCertPath(InputStream inStream, String encoding) throws CertificateException— 지정된 인코딩으로 인증 경로를 생성해요.public final CertPath generateCertPath(List<? extends Certificate> certificates)— 일련의 인증서들로 인증 경로를 생성해요.public final Iterator<String> getCertPathEncodings()— 이 팩토리가 지원하는 인증 경로 인코딩의 반복자를 반환해요.public final CRL generateCRL(InputStream inStream) throws CRLException— 입력 스트림에서 CRL을 생성해요.public final Collection<? extends CRL> generateCRLs(InputStream inStream) throws CRLException— 입력 스트림에서 CRL 컬렉션을 생성해요.
FileInputStream fis = new FileInputStream("cert.pem");
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(fis); // Base64 인코딩 인증서 하나