ExemptionMechanism — 면제 메커니즘
ExemptionMechanism — 면제 메커니즘
ExemptionMechanism 클래스는 면제 메커니즘의 기능을 제공해요. 대표적인 예로는 키 복구(key recovery), 키 약화(key weakening), 키 위탁(key escrow)이 있어요. 면제 메커니즘을 사용하는 애플리케이션이나 애플릿은 사용하지 않는 경우보다 더 강력한 암호화 기능을 부여받을 수 있어요.
본문
이 클래스는 면제 키 블롭(exemption key blob)을 생성하여 강화된 암호화 권한을 획득하는 데 사용돼요. 면제 메커니즘은 특정 보안 정책 조건 하에서 더 강한 암호화를 허용하는 구조예요.
주요 메서드를 정리하면 다음과 같아요.
ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)— 주어진 SPI·프로바이더·메커니즘으로 객체를 생성해요.String getName()— 이 메커니즘의 이름을 반환해요.ExemptionMechanism getInstance(String algorithm)— 지정된 알고리즘의 객체를 반환해요.NoSuchAlgorithmException이 발생할 수 있어요.getInstance(String algorithm, String provider)/getInstance(String algorithm, Provider provider)— 프로바이더를 지정해 객체를 반환해요.Provider getProvider()— 프로바이더를 반환해요.boolean isCryptoAllowed(Key key)— 지정된 키로 더 강한 암호화가 허용되는지 판단해요.ExemptionMechanismException이 발생할 수 있어요.int getOutputSize(int inputLen)— 출력 버퍼의 크기를 반환해요.IllegalStateException이 발생할 수 있어요.void init(Key key)— 키로 초기화해요.InvalidKeyException,ExemptionMechanismException이 발생할 수 있어요.init(Key key, AlgorithmParameterSpec params)/init(Key key, AlgorithmParameters params)— 매개변수를 함께 지정해 초기화해요.byte[] genExemptionBlob()— 면제 키 블롭을 생성해요.IllegalStateException,ExemptionMechanismException이 발생할 수 있어요.int genExemptionBlob(byte[] output)— 결과를 출력 버퍼에 저장해요.ShortBufferException이 발생할 수 있어요.