SecretKeyFactorySpi — 비밀 키 팩토리 서비스 제공자 인터페이스

SecretKeyFactorySpi — 비밀 키 팩토리 서비스 제공자 인터페이스

SecretKeyFactorySpi 클래스는 SecretKeyFactory 클래스를 위한 서비스 제공자 인터페이스(SPI)를 정의해요. 특정 알고리즘의 비밀 키 팩토리 구현을 제공하려는 각 암호화 서비스 제공자는 이 클래스의 모든 추상 메서드를 구현해야 해요.

출처: Java API Reference

본문

제공자는 자신의 비밀 키 팩토리가 지원하는 모든 키 사양을 문서화해야 해요. 예를 들어 SunJCE 제공자의 DES 비밀 키 팩토리는 DESKeySpec을 DES 키의 투명한 표현으로 지원하고, 트리플 DES 키용 팩토리는 DESedeKeySpec을 트리플 DES 키의 투명한 표현으로 지원해요.

구현해야 할 추상 메서드는 다음과 같아요.

  • SecretKey engineGenerateSecret(KeySpec keySpec) — 주어진 키 사양으로부터 비밀 키 객체를 생성해요. InvalidKeySpecException이 발생할 수 있어요.
  • KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) — 주어진 키 객체의 기저 키 자료를 지정된 사양 형식으로 반환해요. InvalidKeySpecException이 발생할 수 있어요.
  • SecretKey engineTranslateKey(SecretKey key) — 주어진 키 객체를 이 팩토리가 처리하는 키로 변환해요. InvalidKeyException이 발생할 수 있어요.

제공자는 엔진 메서드를 구현해 실제 비밀 키 팩토리 로직을 제공하며, 모든 engine 메서드는 protected 접근자를 가져요.

더 알아보기 (Learn more)