モジュール java.base
パッケージ javax.crypto

クラスEncryptedPrivateKeyInfo


  • public class EncryptedPrivateKeyInfo
    extends Object
    このクラスは、PKCS#8で定義されているEncryptedPrivateKeyInfo型を実装します。

    そのASN.1定義は次のとおりです。

     EncryptedPrivateKeyInfo ::=  SEQUENCE {
         encryptionAlgorithm   AlgorithmIdentifier,
         encryptedData   OCTET STRING }
    
     AlgorithmIdentifier  ::=  SEQUENCE  {
         algorithm              OBJECT IDENTIFIER,
         parameters             ANY DEFINED BY algorithm OPTIONAL  }
     

    導入されたバージョン:
    1.4
    関連項目:
    PKCS8EncodedKeySpec
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      EncryptedPrivateKeyInfo​(byte[] encoded)
      そのASN.1エンコーディングからEncryptedPrivateKeyInfoを構築(つまり解析)します。
      EncryptedPrivateKeyInfo​(String algName, byte[] encryptedData)
      暗号化アルゴリズム名と暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
      EncryptedPrivateKeyInfo​(AlgorithmParameters algParams, byte[] encryptedData)
      暗号化アルゴリズム・パラメータと暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
    • コンストラクタの詳細

      • EncryptedPrivateKeyInfo

        public EncryptedPrivateKeyInfo​(byte[] encoded)
                                throws IOException
        そのASN.1エンコーディングからEncryptedPrivateKeyInfoを構築(つまり解析)します。
        パラメータ:
        encoded - このオブジェクトのASN.1エンコーディング。 この配列の内容は、後続の変更に影響されないようにコピーされる。
        例外:
        NullPointerException - encodedがnullの場合
        IOException - ASN.1エンコーディングの解析時にエラーが発生した場合。
      • EncryptedPrivateKeyInfo

        public EncryptedPrivateKeyInfo​(String algName,
                                       byte[] encryptedData)
                                throws NoSuchAlgorithmException
        暗号化アルゴリズム名と暗号化されたデータからEncryptedPrivateKeyInfoを構築します。

        注: このコンストラクタは、アルゴリズム・パラメータの値としてnullを使用します。 暗号化アルゴリズムがnull以外の値のパラメータを持つ場合は、EncryptedPrivateKeyInfo(AlgorithmParameters, byte[])など別のコンストラクタを使用するようにしてください。

        パラメータ:
        algName - 暗号化アルゴリズム名。 標準Cipherアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」ドキュメントを参照してください。
        encryptedData - 暗号化されたデータ。 このオブジェクトの構築時に、encrypedDataの内容が後続の変更に影響されないようにコピーされる。
        例外:
        NullPointerException - algNameまたはencryptedDataがnullの場合
        IllegalArgumentException - encryptedDataが空(長さ0)の場合。
        NoSuchAlgorithmException - 指定されたalgNameがサポートされていない場合。
      • EncryptedPrivateKeyInfo

        public EncryptedPrivateKeyInfo​(AlgorithmParameters algParams,
                                       byte[] encryptedData)
                                throws NoSuchAlgorithmException
        暗号化アルゴリズム・パラメータと暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
        パラメータ:
        algParams - 暗号化アルゴリズムのアルゴリズム・パラメータ。algParams.getEncoded()は、EncryptedPrivateKeyInfo型のAlgorithmIdentiferコンポーネントのparametersフィールドのASN.1の暗号化されたバイトを返す。
        encryptedData - 暗号化されたデータ。 このオブジェクトの構築時に、encrypedDataの内容が後続の変更に影響されないようにコピーされる。
        例外:
        NullPointerException - algParamsまたはencryptedDataがnullの場合
        IllegalArgumentException - encryptedDataが空(長さ0)の場合。
        NoSuchAlgorithmException - 指定されたalgParamsパラメータの指定されたalgNameがサポートされていない場合。
    • メソッドの詳細

      • getAlgName

        public String getAlgName()
        暗号化アルゴリズムを返します。

        注: このようなマッピングが有効なときには、コンストラクタで指定された名前ではなく標準名が返されます。 標準Cipherアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」ドキュメントを参照してください。

        戻り値:
        暗号化アルゴリズム名
      • getAlgParameters

        public AlgorithmParameters getAlgParameters()
        暗号化アルゴリズムで使用されるアルゴリズム・パラメータを返します。
        戻り値:
        アルゴリズム・パラメータ
      • getEncryptedData

        public byte[] getEncryptedData()
        暗号化されたデータを返します。
        戻り値:
        暗号化されたデータ。 このメソッドが呼び出されるたびに新しい配列を返す。
      • getKeySpec

        public PKCS8EncodedKeySpec getKeySpec​(Cipher cipher)
                                       throws InvalidKeySpecException
        暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
        注: 内包されたPKCS8EncodedKeySpecオブジェクトを正常に取得するには、暗号化されたデータの生成に使用する場合と同じ鍵とパラメータを使用して、cipherをCipher.DECRYPT_MODEまたはCipher.UNWRAP_MODEのいずれかに初期化する必要があります。
        パラメータ:
        cipher - 暗号化されたデータの復号化に使用される、初期化された暗号オブジェクト。
        戻り値:
        PKCS8EncodedKeySpecオブジェクト
        例外:
        NullPointerException - cipherがnullである場合。
        InvalidKeySpecException - 指定された暗号が暗号化されたデータに不適切な場合、または暗号化されたデータが壊れていて復号化できない場合。
      • getKeySpec

        public PKCS8EncodedKeySpec getKeySpec​(Key decryptKey)
                                       throws NoSuchAlgorithmException,
                                              InvalidKeyException
        暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
        パラメータ:
        decryptKey - 暗号化されたデータの復号化に使用される鍵。
        戻り値:
        PKCS8EncodedKeySpecオブジェクト
        例外:
        NullPointerException - decryptKeyがnullである場合。
        NoSuchAlgorithmException - 暗号化されたデータの復号化に適切な暗号を見つけることができない場合。
        InvalidKeyException - 暗号化されたデータの復号化にdecryptKeyを使用できない場合、または復号化の結果が有効なPKCS8KeySpecでない場合。
        導入されたバージョン:
        1.5
      • getKeySpec

        public PKCS8EncodedKeySpec getKeySpec​(Key decryptKey,
                                              String providerName)
                                       throws NoSuchProviderException,
                                              NoSuchAlgorithmException,
                                              InvalidKeyException
        暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
        パラメータ:
        decryptKey - 暗号化されたデータの復号化に使用される鍵。
        providerName - 使用されるCipherの実装を持つプロバイダの名前。
        戻り値:
        PKCS8EncodedKeySpecオブジェクト
        例外:
        NullPointerException - decryptKeyまたはproviderNameがnullの場合
        NoSuchProviderException - providerNameで指定されたプロバイダが登録されていない場合。
        NoSuchAlgorithmException - 暗号化されたデータの復号化に適切な暗号を見つけることができない場合。
        InvalidKeyException - 暗号化されたデータの復号化にdecryptKeyを使用できない場合、または復号化の結果が有効なPKCS8KeySpecでない場合。
        導入されたバージョン:
        1.5
      • getKeySpec

        public PKCS8EncodedKeySpec getKeySpec​(Key decryptKey,
                                              Provider provider)
                                       throws NoSuchAlgorithmException,
                                              InvalidKeyException
        暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
        パラメータ:
        decryptKey - 暗号化されたデータの復号化に使用される鍵。
        provider - 使用されるCipherの実装を持つプロバイダの名前。
        戻り値:
        PKCS8EncodedKeySpecオブジェクト
        例外:
        NullPointerException - decryptKeyまたはproviderがnullの場合
        NoSuchAlgorithmException - provider内の暗号化されたデータの復号化に適切な暗号を見つけることができない場合。
        InvalidKeyException - 暗号化されたデータの復号化にdecryptKeyを使用できない場合、または復号化の結果が有効なPKCS8KeySpecでない場合。
        導入されたバージョン:
        1.5
      • getEncoded

        public byte[] getEncoded()
                          throws IOException
        このオブジェクトのASN.1エンコーディングを返します。
        戻り値:
        ASN.1エンコーディング このメソッドが呼び出されるたびに新しい配列を返す。
        例外:
        IOException - そのASN.1エンコーディングの構築時にエラーが発生した場合。