KeyRep

KeyRep (키 직렬화 표현)

직렬화된 Key 객체의 표준화된 표현(representation)입니다. 직렬화된 키는 신뢰되지 않은 환경에서 노출되지 않아야 하는 민감한 정보를 포함할 수 있습니다.

출처: Java API Reference

본문

KeyRep은 키를 직렬화할 때 사용하는 표준 표현으로, 역직렬화 시 키를 원래의 타입·형식에 맞게 다시 구성할 수 있도록 합니다. Java Object Serialization Specification의 Security Appendix에 민감한 키 정보 처리에 관한 자세한 내용이 있습니다.

KeyRepTypeFormat의 조합에 따라 키를 복원합니다. readResolve() 메서드가 세 가지 조합을 지원합니다.

  • Type.SECRET / "RAW" — 인코딩된 키 바이트와 알고리즘으로 SecretKeySpec 객체를 구성해 반환합니다.
  • Type.PUBLIC / "X.509" — 키 알고리즘에 대한 KeyFactory 인스턴스를 얻고, 인코딩된 키 바이트로 X509EncodedKeySpec을 구성해 공개 키를 생성합니다.
  • Type.PRIVATE / "PKCS#8" — 키 알고리즘에 대한 KeyFactory 인스턴스를 얻고, 인코딩된 키 바이트로 PKCS8EncodedKeySpec을 구성해 개인 키를 생성합니다.

protected Object readResolve()Key 객체를 해석합니다. 조합이 인식되지 않거나, 알고리즘·키 형식·인코딩된 키 바이트가 인식되지 않거나 잘못된 경우, 또는 키 해석이 어떤 이유로든 실패하면 ObjectStreamException을 던집니다.

더 알아보기 (Learn more)

Java 공식 API