KeyGeneratorSpi — 키 생성기 서비스 제공자 인터페이스
KeyGeneratorSpi — 키 생성기 서비스 제공자 인터페이스
KeyGeneratorSpi 클래스는 KeyGenerator 클래스를 위한 서비스 제공자 인터페이스(SPI)를 정의해요. 특정 알고리즘의 키 생성기 구현을 제공하려는 각 암호화 서비스 제공자는 이 클래스의 모든 추상 메서드를 구현해야 해요.
본문
클라이언트가 init 메서드 호출로 KeyGenerator를 명시적으로 초기화하지 않으면, 각 제공자는 기본 초기화를 제공하고 문서화해야 해요. JDK 제공자의 KeyGenerator 기본값에 대한 정보는 JDK Providers 문서의 Keysize Restriction 절을 참고하세요. 기본값은 제공자마다 다를 수 있고, 미래 버전에서 바뀔 수 있으므로 특정 제공자 기본값에 의존하기보다 KeyGenerator를 명시적으로 초기화하는 것이 권장돼요.
구현해야 할 추상 메서드는 다음과 같아요.
SecretKey engineGenerateKey()— 비밀 키를 생성해요.IllegalStateException이 발생할 수 있어요.void engineInit(int keysize, SecureRandom random)— 특정 키 크기로 키 생성기를 초기화해요.InvalidParameterException이 발생할 수 있어요.void engineInit(SecureRandom random)— 키 생성기를 초기화해요.void engineInit(AlgorithmParameterSpec params, SecureRandom random)— 지정된 매개변수 사양으로 키 생성기를 초기화해요.InvalidAlgorithmParameterException이 발생할 수 있어요.
제공자는 엔진 메서드를 구현해 실제 키 생성 로직을 제공하며, 모든 engine 메서드는 protected 접근자를 가져요.