KeySpec
KeySpec (키 명세)
키를 구성하는 키 자료(key material)의 (투명한) 명세(specification)를 나타내는 인터페이스입니다.
본문
KeySpec은 키 자료의 투명한 명세를 나타내는 인터페이스입니다. 이 인터페이스에는 메서드나 상수가 없으며, 모든 키 명세를 하나로 묶고(그룹화) 타입 안전성을 제공하는 역할만 합니다.
"투명(transparent)"하다는 것은 키 명세가 키 자료를 시스템에 특화된 방식이 아닌, 모든 사람이 접근 가능한 방식으로 제공한다는 뜻입니다. 예를 들어 DSA 개인 키를 DSAPrivateKeySpec(BigInteger x, ...)처럼 명세로 제공할 수 있습니다.
키 명세의 두 가지 큰 분류로는 키 자료 형태로 제공하는 명세(예: DSAPrivateKeySpec, ECPrivateKeySpec)와 인코딩된 형식으로 제공하는 명세(예: PKCS8EncodedKeySpec, X509EncodedKeySpec)가 있습니다. 후자는 EncodedKeySpec이 다룹니다.
키 명세는 주로 KeyFactory가 키 객체를 생성하거나 기저 키 자료를 추출할 때 사용됩니다.