ExemptionMechanism — 면제 메커니즘

ExemptionMechanism — 면제 메커니즘

ExemptionMechanism 클래스는 면제 메커니즘의 기능을 제공해요. 대표적인 예로는 키 복구(key recovery), 키 약화(key weakening), 키 위탁(key escrow)이 있어요. 면제 메커니즘을 사용하는 애플리케이션이나 애플릿은 사용하지 않는 경우보다 더 강력한 암호화 기능을 부여받을 수 있어요.

출처: Java API Reference

본문

이 클래스는 면제 키 블롭(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이 발생할 수 있어요.

더 알아보기 (Learn more)