EncryptedPrivateKeyInfo — 암호화된 개인 키 정보

EncryptedPrivateKeyInfo — 암호화된 개인 키 정보

EncryptedPrivateKeyInfo 클래스는 PKCS #8에 정의된 EncryptedPrivateKeyInfo 타입을 구현해요. 이 타입은 암호화된 형태의 개인 키를 표현하며, ASN.1 정의는 다음과 같아요.

출처: Java API Reference

본문

EncryptedPrivateKeyInfo ::= SEQUENCE {
    encryptionAlgorithm AlgorithmIdentifier,
    encryptedData      OCTET STRING
}

AlgorithmIdentifier ::= SEQUENCE {
    algorithm  OBJECT IDENTIFIER,
    parameters ANY DEFINED BY algorithm OPTIONAL
}

이 클래스는 암호화된 개인 키를 바이트 인코딩으로부터 파싱하거나, 암호화 알고리즘 이름·암호화된 데이터로부터 생성할 수 있어요.

주요 생성자와 메서드를 정리하면 다음과 같아요.

  • EncryptedPrivateKeyInfo(byte[] encoded) — ASN.1 인코딩으로부터 파싱해요. IOException이 발생할 수 있어요.
  • EncryptedPrivateKeyInfo(String algName, byte[] encryptedData) — 알고리즘 이름과 암호화 데이터로 생성해요. NoSuchAlgorithmException이 발생할 수 있어요.
  • EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData) — 알고리즘 매개변수와 암호화 데이터로 생성해요.
  • String getAlgName() — 암호화에 사용된 알고리즘 이름을 반환해요.
  • AlgorithmParameters getAlgParameters() — 알고리즘 매개변수를 반환해요.
  • byte[] getEncryptedData() — 암호화된 데이터를 반환해요.
  • PKCS8EncodedKeySpec getKeySpec(Cipher cipher) — 지정된 Cipher로 복호화한 키 스펙을 반환해요. InvalidKeySpecException이 발생할 수 있어요.
  • PKCS8EncodedKeySpec getKeySpec(Key decryptKey) — 지정된 키로 복호화한 키 스펙을 반환해요.
  • byte[] getEncoded() — ASN.1 인코딩을 반환해요. IOException이 발생할 수 있어요.

더 알아보기 (Learn more)