JavaTM Platform
Standard Ed. 6

javax.crypto
クラス EncryptedPrivateKeyInfo

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(AlgorithmParameters algParams, byte[] encryptedData)
          暗号化アルゴリズムパラメータと暗号化されたデータから EncryptedPrivateKeyInfo を構築します。
EncryptedPrivateKeyInfo(byte[] encoded)
          その ASN.1 エンコーディングから EncryptedPrivateKeyInfo を構築 (つまり解析) します。
EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
          暗号化アルゴリズム名と暗号化されたデータから EncryptedPrivateKeyInfo を構築します。
 
メソッドの概要
 String getAlgName()
          暗号化アルゴリズムを返します。
 AlgorithmParameters getAlgParameters()
          暗号化アルゴリズムで使用されるアルゴリズムパラメータを返します。
 byte[] getEncoded()
          このオブジェクトの ASN.1 エンコーディングを返します。
 byte[] getEncryptedData()
          暗号化されたデータを返します。
 PKCS8EncodedKeySpec getKeySpec(Cipher cipher)
          暗号化されたデータから暗号化された PKCS8EncodedKeySpec オブジェクトを抽出して返します。
 PKCS8EncodedKeySpec getKeySpec(Key decryptKey)
          暗号化されたデータから暗号化された PKCS8EncodedKeySpec オブジェクトを抽出して返します。
 PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider)
          暗号化されたデータから暗号化された PKCS8EncodedKeySpec オブジェクトを抽出して返します。
 PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName)
          暗号化されたデータから暗号化された PKCS8EncodedKeySpec オブジェクトを抽出して返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照
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 フィールドの ANS.1 の暗号化されたバイトを返す
encryptedData - 暗号化されたデータこのオブジェクトの構築時に、encrypedData の内容が後続の変更に影響されないようにコピーされる
例外:
NullPointerException - algParams または encryptedData が null の場合
IllegalArgumentException - encryptedData が空 (長さ 0) の場合
NoSuchAlgorithmException - 指定された algParams パラメータの指定された algName がサポートされていない場合
メソッドの詳細

getAlgName

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

注:このようなマッピングが有効なときには、コンストラクタで指定された名前ではなく標準名が返されます。標準の Cipher アルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照

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

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 エンコーディングの構築時にエラーが発生した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。