java.lang.Object
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
を構築します。 -
メソッドのサマリー
修飾子と型メソッド説明暗号化アルゴリズムを返します。暗号化アルゴリズムで使用されるアルゴリズム・パラメータを返します。byte[]
このオブジェクトのASN.1エンコーディングを返します。byte[]
暗号化されたデータを返します。getKeySpec(Key decryptKey)
暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。getKeySpec(Key decryptKey, String providerName)
暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。getKeySpec(Key decryptKey, Provider provider)
暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。getKeySpec(Cipher cipher)
暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
-
コンストラクタの詳細
-
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エンコーディングの構築時にエラーが発生した場合。
-