TrustManagerFactorySpi — TrustManagerFactory의 서비스 공급자 인터페이스

TrustManagerFactorySpi — TrustManagerFactory의 서비스 공급자 인터페이스

TrustManagerFactorySpiTrustManagerFactory 클래스의 서비스 공급자 인터페이스(SPI)를 정의하는 추상 클래스예요. 특정 신뢰 관리자 팩토리의 구현을 제공하려는 각 암호화 서비스 공급자는 이 클래스의 모든 추상 메서드를 구현해야 해요.

출처: Java API Reference

본문

public abstract class TrustManagerFactorySpi extends Object

생성자

  • TrustManagerFactorySpi() — 하위 클래스에서 호출하기 위한 생성자예요.

메서드

  • protected abstract void engineInit(KeyStore ks) throws KeyStoreException — 인증 기관과 관련 신뢰 자료의 소스로 이 팩토리를 초기화해요. ks는 키 저장소이거나 null이에요. 작업이 실패하면 KeyStoreException이 발생해요. TrustManagerFactory.init(KeyStore)를 참고해요.
  • protected abstract void engineInit(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException — 공급자별 키 자료의 소스로 이 팩토리를 초기화해요. 키 저장소 외에 다른 초기화 파라미터가 필요할 수 있는데, 공급자가 정의한 적절한 ManagerFactoryParameters 구현을 전달해요. 파라미터에 문제가 있으면 InvalidAlgorithmParameterException이 발생해요.
  • protected abstract TrustManager[] engineGetTrustManagers() — 각 신뢰 자료 종류마다 하나의 신뢰 관리자를 반환해요. 팩토리가 초기화되지 않았다면 IllegalStateException이 발생해요.

SPI란 무엇일까요?

SPI(Service Provider Interface)는 기능의 "공급자"가 구현해야 하는 규약이에요. TrustManagerFactory가 사용자에게 보이는 공개 API라면, TrustManagerFactorySpi는 그 뒤에서 실제 작업을 수행하는 구현 골격이에요. Java의 보안 아키텍처처럼 플러그인 방식으로 동작하는 시스템에서 흔히 볼 수 있는 패턴이에요. 실제 구현은 이 추상 클래스를 상속받아 engine* 메서드들을 채워 넣는 방식으로 만들어져요.

더 알아보기 (Learn more)