クラスEncryptedPrivateKeyInfo

java.lang.Object
javax.crypto.EncryptedPrivateKeyInfo
すべての実装されたインタフェース:
DEREncodablePREVIEW

公開非シール・クラスEncryptedPrivateKeyInfo ObjectDEREncodablePREVIEWを実装する拡張
このクラスは、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
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    EncryptedPrivateKeyInfo(byte[] encoded)
    指定された暗号化されたPKCS#8 ASN.1エンコーディングからEncryptedPrivateKeyInfoを構築します。
    EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
    暗号化アルゴリズム名と暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
    EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData)
    暗号化アルゴリズム・パラメータと暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    encrypt(DEREncodablePREVIEW de, char[] password)
    Preview.
    指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。
    encrypt(DEREncodablePREVIEW de, char[] password, String algorithm, AlgorithmParameterSpec params, Provider provider)
    Preview.
    指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。
    encrypt(DEREncodablePREVIEW de, Key encryptKey, String algorithm, AlgorithmParameterSpec params, Provider provider, SecureRandom random)
    Preview.
    指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。
    暗号化アルゴリズムを返します。
    暗号化アルゴリズムで使用されるアルゴリズム・パラメータを返します。
    byte[]
    このオブジェクトのASN.1エンコーディングを返します。
    byte[]
    暗号化されたデータを返します。
    getKey(char[] password)
    Preview.
    指定されたパスワードを使用して、囲まれたPrivateKeyを抽出して返します。
    getKey(Key decryptKey, Provider provider)
    Preview.
    指定された復号化キーおよびプロバイダを使用して、囲まれたPrivateKeyを抽出して返します。
    getKeyPair(char[] password)
    Preview.
    指定されたパスワードを使用して、囲まれたKeyPairを抽出して返します。
    getKeyPair(Key decryptKey, Provider provider)
    Preview.
    指定された復号化キーおよびプロバイダを使用して、囲まれたKeyPairを抽出して返します。
    getKeySpec(Key decryptKey)
    暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
    getKeySpec(Key decryptKey, String providerName)
    暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
    getKeySpec(Key decryptKey, Provider provider)
    暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。
    暗号化されたデータから内包されているPKCS8EncodedKeySpecオブジェクトを抽出して返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • EncryptedPrivateKeyInfo

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

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

      ノート: このコンストラクタでは、アルゴリズム・パラメータの値としてnullを使用します。 暗号化アルゴリズムに値がnullではないパラメータがある場合は、別のコンストラクタ(EncryptedPrivateKeyInfo(AlgorithmParameters, byte[])など)を使用する必要があります。

      パラメータ:
      algName - 暗号化アルゴリズム名。 標準Cipherアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」ドキュメントを参照してください。
      encryptedData - 暗号化されたデータ。 encryptedDataの内容は、このオブジェクトの作成時に以降の変更から保護するためにコピーされます。
      スロー:
      NullPointerException - algNameまたはencryptedDatanullの場合。
      IllegalArgumentException - encryptedDataが空(長さ0)の場合。
      NoSuchAlgorithmException - 指定されたalgNameがサポートされていない場合。
      外部仕様
    • EncryptedPrivateKeyInfo

      public EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData) throws NoSuchAlgorithmException
      暗号化アルゴリズム・パラメータと暗号化されたデータからEncryptedPrivateKeyInfoを構築します。
      パラメータ:
      algParams - 暗号化アルゴリズムのアルゴリズム・パラメータ。algParams.getEncoded()は、EncryptedPrivateKeyInfoタイプのAlgorithmIdentifierコンポーネントのparametersフィールドのASN.1エンコード・バイトを返します。
      encryptedData - 暗号化されたデータ。 encryptedDataの内容は、このオブジェクトの作成時に以降の変更から保護するためにコピーされます。
      スロー:
      NullPointerException - algParamsまたはencryptedDatanullの場合。
      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 - 暗号化されたデータの復号化に使用される初期化されたCipherオブジェクト。
      戻り値:
      PKCS8EncodedKeySpecオブジェクト
      スロー:
      NullPointerException - ciphernullの場合。
      InvalidKeySpecException - 指定された暗号が暗号化されたデータに不適切な場合、または暗号化されたデータが壊れていて復号化できない場合。
    • encrypt

      public static EncryptedPrivateKeyInfo encrypt(DEREncodablePREVIEW de, char[] password, String algorithm, AlgorithmParameterSpec params, Provider provider)
      encryptは、JavaプラットフォームのプレビューAPIです。
      プログラムでencryptを使用できるのは、プレビュー機能が有効な場合のみです。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。 有効なパスワードベースの暗号化(PBE)アルゴリズムおよびパスワードを指定する必要があります。

      PBEアルゴリズム文字列の形式については、Java Security Standard Algorithm Names Specificationの「暗号アルゴリズム」の項を参照してください。

      パラメータ:
      de - 暗号化するDEREncodable サポートされているタイプには、PrivateKeyKeyPairおよびPKCS8EncodedKeySpecがあります。
      password - PBE暗号化に使用されるパスワード。 この配列は、使用前にクローニングされます。
      algorithm - PBE暗号化アルゴリズム
      params - 暗号化に使用されるAlgorithmParameterSpec nullの場合、プロバイダのデフォルト・パラメータが適用されます。
      provider - SecretKeyFactoryおよびCipher操作のProvider nullの場合、プロバイダのデフォルトが使用されます。
      戻り値:
      EncryptedPrivateKeyInfo
      スロー:
      NullPointerException - depasswordまたはalgorithmnullの場合
      IllegalArgumentException - deがサポートされていないDEREncodableの場合、PBEキーの生成中にエラーが発生した場合、algorithmまたはparamsがプロバイダでサポートされていない場合、または暗号化中にエラーが発生した場合。
      導入されたバージョン:
      26
    • encrypt

      public static EncryptedPrivateKeyInfo encrypt(DEREncodablePREVIEW de, char[] password)
      encryptは、JavaプラットフォームのプレビューAPIです。
      プログラムでencryptを使用できるのは、プレビュー機能が有効な場合のみです。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。 有効なパスワードを指定する必要があります。 デフォルトのパスワードベースの暗号化(PBE)アルゴリズムおよびプロバイダが使用されます。
      実装上のノート:
      jdk.epkcs8.defaultAlgorithmセキュリティ・プロパティは、デフォルトの暗号化アルゴリズムを定義します。 AlgorithmParameterSpecのデフォルトはプロバイダによって決まります。
      パラメータ:
      de - 暗号化するDEREncodable サポートされているタイプには、PrivateKeyKeyPairおよびPKCS8EncodedKeySpecがあります。
      password - PBE暗号化に使用されるパスワード。 この配列は、使用前にクローニングされます。
      戻り値:
      EncryptedPrivateKeyInfo
      スロー:
      NullPointerException - deまたはpasswordnullの場合
      IllegalArgumentException - deがサポートされていないDEREncodableの場合、PBEキーの生成中にエラーが発生した場合、またはデフォルトのアルゴリズムが正しく構成されていない場合
      導入されたバージョン:
      26
    • encrypt

      public static EncryptedPrivateKeyInfo encrypt(DEREncodablePREVIEW de, Key encryptKey, String algorithm, AlgorithmParameterSpec params, Provider provider, SecureRandom random)
      encryptは、JavaプラットフォームのプレビューAPIです。
      プログラムでencryptを使用できるのは、プレビュー機能が有効な場合のみです。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定されたDEREncodableを暗号化してEncryptedPrivateKeyInfoを作成します。 有効な暗号化アルゴリズムとKeyを指定する必要があります。

      アルゴリズム文字列の形式については、Java Security Standard Algorithm Names Specificationの「暗号アルゴリズム」の項を参照してください。

      パラメータ:
      de - 暗号化するDEREncodable サポートされているタイプには、PrivateKeyKeyPairおよびPKCS8EncodedKeySpecがあります。
      encryptKey - エンコーディングの暗号化に使用されるキー
      algorithm - パスワードベースの暗号化(PBE)アルゴリズムなどの暗号化アルゴリズム
      params - 暗号化に使用されるAlgorithmParameterSpec nullの場合、プロバイダのデフォルト・パラメータが適用されます。
      provider - Cipher操作のProvider nullの場合は、デフォルトのプロバイダ・リストが使用されます。
      random - 暗号化時に使用されるSecureRandomインスタンス。 nullの場合は、デフォルトが使用されます。
      戻り値:
      EncryptedPrivateKeyInfo
      スロー:
      NullPointerException - deencryptKeyまたはalgorithmnullの場合
      IllegalArgumentException - deがサポートされていないDEREncodableの場合、encryptKeyが無効な場合、algorithmまたはparamsがプロバイダでサポートされていない場合、または暗号化中にエラーが発生した場合
      導入されたバージョン:
      26
    • getKey

      パブリック PrivateKey getKey(char[] password)NoSuchAlgorithmExceptionInvalidKeyExceptionをスローします
      getKeyは、JavaプラットフォームのプレビューAPIです。
      プレビュー機能が有効になっている場合のみ、プログラムでgetKeyを使用できます。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定されたパスワードを使用して、囲まれたPrivateKeyを抽出して返します。
      パラメータ:
      password - PBE復号化に使用されるパスワード。 配列は、使用前にクローニングされます。
      戻り値:
      復号化されたPrivateKey
      スロー:
      NullPointerException - passwordnullの場合
      NoSuchAlgorithmException - 復号化アルゴリズムがサポートされていない場合
      InvalidKeyException - 解析、復号化またはキー生成中にエラーが発生した場合
      導入されたバージョン:
      25
    • getKey

      パブリック PrivateKey getKey(Key decryptKey、 Provider provider)NoSuchAlgorithmExceptionInvalidKeyExceptionをスローします
      getKeyは、JavaプラットフォームのプレビューAPIです。
      プレビュー機能が有効になっている場合のみ、プログラムでgetKeyを使用できます。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定された復号化キーおよびプロバイダを使用して、囲まれたPrivateKeyを抽出して返します。
      パラメータ:
      decryptKey - 復号化キー。 nullにはできません。
      provider - Cipher復号化およびPrivateKey生成のProvider nullの場合は、デフォルトのプロバイダ構成が使用されます。
      戻り値:
      復号化されたPrivateKey
      スロー:
      NullPointerException - decryptKeynullの場合
      NoSuchAlgorithmException - 復号化アルゴリズムがサポートされていない場合
      InvalidKeyException - 解析、復号化またはキー生成中にエラーが発生した場合
      導入されたバージョン:
      25
    • getKeyPair

      パブリック KeyPair getKeyPair(char[] password)NoSuchAlgorithmExceptionInvalidKeyExceptionをスローします
      getKeyPairは、JavaプラットフォームのプレビューAPIです。
      プログラムでgetKeyPairを使用できるのは、プレビュー機能が有効な場合のみです。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定されたパスワードを使用して、囲まれたKeyPairを抽出して返します。 エンコードされたデータに公開キーと秘密キーの両方が含まれていない場合は、InvalidKeyExceptionがスローされます。
      パラメータ:
      password - PBE復号化に使用されるパスワード。 配列は、使用前にクローニングされます。
      戻り値:
      復号化されたKeyPair
      スロー:
      NullPointerException - passwordnullの場合
      NoSuchAlgorithmException - 復号化アルゴリズムがサポートされていない場合
      InvalidKeyException - エンコードされたデータに公開キーがない場合、または解析、復号化またはキー生成中にエラーが発生した場合
      導入されたバージョン:
      26
    • getKeyPair

      パブリック KeyPair getKeyPair(Key decryptKey、 Provider provider)NoSuchAlgorithmExceptionInvalidKeyExceptionをスローします
      getKeyPairは、JavaプラットフォームのプレビューAPIです。
      プログラムでgetKeyPairを使用できるのは、プレビュー機能が有効な場合のみです。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      指定された復号化キーおよびプロバイダを使用して、囲まれたKeyPairを抽出して返します。 エンコードされたデータに公開キーと秘密キーの両方が含まれていない場合は、InvalidKeyExceptionがスローされます。
      パラメータ:
      decryptKey - 復号化キー。 nullにはできません。
      provider - Cipher復号化およびキー生成のProvider nullの場合は、デフォルトのプロバイダ構成が使用されます。
      戻り値:
      復号化されたKeyPair
      スロー:
      NullPointerException - decryptKeynullの場合
      NoSuchAlgorithmException - 復号化アルゴリズムがサポートされていない場合
      InvalidKeyException - エンコードされたデータに公開キーがない場合、または解析、復号化またはキー生成中にエラーが発生した場合
      導入されたバージョン:
      26
    • getKeySpec

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

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

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

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