CertificateFactory — 인증서 팩토리

CertificateFactory — 인증서 팩토리

인코딩에서 인증서, 인증 경로(CertPath), 인증서 폐기 목록(CRL) 객체를 생성하는 데 사용하는 인증서 팩토리의 기능을 정의하는 클래스예요. 팩토리는 여러 인증서를 다룰 수 있습니다.

출처: Java API Reference

본문

여러 인증서로 구성된 인코딩에서, 아마 관련이 없는 인증서들의 집합을 파싱하려면 generateCertificates를 사용해요. 반면 generateCertPathCertPath(인증서 체인)를 생성하고 이후 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 인코딩 인증서 하나

더 알아보기 (Learn more)