java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.crypto
类 EncryptedPrivateKeyInfo

java.lang.Object
  继承者 javax.crypto.EncryptedPrivateKeyInfo

public class EncryptedPrivateKeyInfo
extends Object

此类实现 EncryptedPrivateKeyInfo 类型,如在 PKCS #8 中定义的那样。

它的 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 Cryptography Extension Reference Guide 中的附录 A。
encryptedData - 加密数据。encrypedData 的内容被复制,以免构造此对象时出现后续修改。
抛出:
NullPointerException - 如果 algNameencryptedData 为 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 - 如果 algParamsencryptedData 为 null。
IllegalArgumentException - 如果 encryptedData 为空,即长度为 0。
NoSuchAlgorithmException - 如果的指定的 algParams 参数的指定 algName 不受支持。
方法详细信息

getAlgName

public String getAlgName()
返回加密算法。

注:如果有这样的映射可用,则返回标准名称而不是指定的名称。有关标准 Cipher 算法名称的信息,请参见 Java Cryptography Extension Reference Guide 中的附录 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 - 如果 decryptKeyproviderName 为 null。
NoSuchProviderException - 如果没有注册任何名称为 providerName 的提供程序。
NoSuchAlgorithmException - 如果无法找到合适的密码对加密的数据进行解密。
InvalidKeyException - 如果无法用 decryptKey 对加密的数据进行解密,或者解密结果不是有效的 PKCS8KeySpec。

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Key decryptKey,
                                      Provider provider)
                               throws NoSuchAlgorithmException,
                                      InvalidKeyException
将密封的 PKCS8EncodedKeySpec 对象从加密的数据中抽取出来并将其返回。

参数:
decryptKey - 在对加密的数据进行解密时所使用的密钥。
provider - 其 Cipher 实现将被使用的提供者的名称。
返回:
PKCS8EncodedKeySpec 对象。
抛出:
NullPointerException - 如果 decryptKeyprovider 为 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 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策