KeyFactorySpi

KeyFactorySpi (키 팩토리 SPI)

KeyFactory 클래스의 Service Provider Interface(SPI)를 정의하는 클래스입니다. 특정 알고리즘의 키 팩토리 구현을 제공하려는 암호화 서비스 프로바이더는 이 클래스의 모든 추상 메서드를 구현해야 합니다.

출처: Java API Reference

본문

KeyFactorySpi는 키(불투명 암호 키)를 키 명세(투명 표현)로, 또는 그 반대로 변환하는 키 팩토리의 내부 엔진(engine) 역할을 맡습니다. 키 팩토리처럼 양방향으로 동작하며, 호환되는 키 명세 사이의 변환을 지원합니다.

프로바이더는 자신의 키 팩토리가 지원하는 모든 키 명세를 문서화해야 합니다. 실제 KeyFactory 객체가 제공하는 공개 메서드는 이 SPI의 engine* 메서드들을 내부적으로 호출합니다.

SPI가 정의하는 추상 메서드는 다음과 같습니다.

  • protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) — 제공된 키 명세로부터 공개 키 객체를 생성합니다. 이 키 팩토리가 공개 키를 만들기에 적합하지 않으면 InvalidKeySpecException을 던집니다.
  • protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) — 제공된 키 명세로부터 개인 키 객체를 생성합니다. 이 키 팩토리가 개인 키를 만들기에 적합하지 않으면 InvalidKeySpecException을 던집니다.
  • protected abstract <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) — 주어진 키 객체의 명세(키 자료)를 반환합니다. keySpec은 반환할 명세 클래스를 나타냅니다.
  • protected abstract Key engineTranslateKey(Key key) — 프로바이더를 알 수 없거나 신뢰할 수 없는 키 객체를 이 키 팩토리의 키 객체로 변환합니다.

더 알아보기 (Learn more)

Java 공식 API