JavaTM 2 Platform
Standard Ed. 5.0

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 - 暗号化アルゴリズムの名前。暗号化アルゴリズムの標準名については、「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() は、EncryptedPrivateKeyInfoAlgorithmIdentifer コンポーネントの、parameters フィールドの ANS.1 の暗号化されたバイトを返す
encryptedData - 暗号化されたデータ。encrypedData の内容は、今後変更されないように保護する目的で、このオブジェクトの構築時にコピーされる
例外:
NullPointerException - algParams または encryptedData が null の場合
IllegalArgumentException - encryptedData が空 (長さ 0) の場合
NoSuchAlgorithmException - 指定された algParams パラメータの指定された algName がサポートされていない場合
メソッドの詳細

getAlgName

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

注: コンストラクタに指定された名前に対応する標準名がある場合は、指定された名前の代わりに標準名が返されます。暗号化アルゴリズムの標準名については、「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 が有効でない場合

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 が有効でない場合

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 が有効でない場合

getEncoded

public byte[] getEncoded()
                  throws IOException
このオブジェクトの ASN.1 エンコーディングを返します。

戻り値:
ASN.1 エンコーディング。このメソッドが呼び出されるたびに新規の配列を返す
例外:
IOException - その ASN.1 エンコーディングの構築時にエラーが発生した場合

JavaTM 2 Platform
Standard Ed. 5.0

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

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