JavaTM 2 Platform
Standard Ed. 5.0

java.security
类 AlgorithmParameters

java.lang.Object
  继承者 java.security.AlgorithmParameters

public class AlgorithmParameters
extends Object

此类用作密码参数的不透明表示形式。

可以通过调用 getInstance 工厂方法(返回给定类的实例的静态方法)之一获取用于管理特定算法的参数的 AlgorithmParameters 对象。

可以使用以下两种方式请求此类实现:仅指定算法名,或者同时指定算法名和包 provider。

返回 AlgorithmParameters 对象后,必须使用适当的参数规范或参数编码通过调用 init 初始化该对象。

通过调用 getParameterSpec 可以从 AlgorithmParameters 对象获取透明参数规范,通过调用 getEncoded 获取参数的字节编码。

从以下版本开始:
1.2
另请参见:
AlgorithmParameterSpec, DSAParameterSpec, KeyPairGenerator

构造方法摘要
protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
          创建一个 AlgorithmParameters 对象。
 
方法摘要
 String getAlgorithm()
          返回与此参数对象关联的算法的名称。
 byte[] getEncoded()
          返回基本编码格式的参数。
 byte[] getEncoded(String format)
          返回以指定方案编码的参数。
static AlgorithmParameters getInstance(String algorithm)
          生成指定算法的参数对象。
static AlgorithmParameters getInstance(String algorithm, Provider provider)
          如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。
static AlgorithmParameters getInstance(String algorithm, String provider)
          如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。
<T extends AlgorithmParameterSpec>
T
getParameterSpec(Class<T> paramSpec)
          返回此参数对象的(透明)规范。
 Provider getProvider()
          返回此参数对象的 provider。
 void init(AlgorithmParameterSpec paramSpec)
          使用在 paramSpec 中指定的参数初始化此参数对象。
 void init(byte[] params)
          根据参数的基本解码格式导入指定的参数并对其解码。
 void init(byte[] params, String format)
          根据指定的解码方案从 params 导入参数并对其解码。
 String toString()
          返回描述参数的格式化字符串。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

AlgorithmParameters

protected AlgorithmParameters(AlgorithmParametersSpi paramSpi,
                              Provider provider,
                              String algorithm)
创建一个 AlgorithmParameters 对象。

参数:
paramSpi - 委托
provider - provider
algorithm - 算法
方法详细信息

getAlgorithm

public final String getAlgorithm()
返回与此参数对象关联的算法的名称。

返回:
算法名称。

getInstance

public static AlgorithmParameters getInstance(String algorithm)
                                       throws NoSuchAlgorithmException
生成指定算法的参数对象。

如果默认的 provider 包提供所请求算法的实现,则返回包含该实现的 AlgorithmParameters 的实例。如果在默认包中不存在该算法,则搜索其他包。

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果算法在环境中不可用。

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              String provider)
                                       throws NoSuchAlgorithmException,
                                              NoSuchProviderException
如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
provider - provider 的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果请求的 provider 提供的包中不存在该算法。
NoSuchProviderException - 如果 provider 在环境中不可用。
IllegalArgumentException - 如果 provider 的名称为 null 或空。
另请参见:
Provider

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              Provider provider)
                                       throws NoSuchAlgorithmException
如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。注:不必注册 provider

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
provider - provider 的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果请求的 provider 提供的包中不存在该算法。
IllegalArgumentException - 如果 provider 为 null。
从以下版本开始:
1.4
另请参见:
Provider

getProvider

public final Provider getProvider()
返回此参数对象的 provider。

返回:
此参数对象的 provider。

init

public final void init(AlgorithmParameterSpec paramSpec)
                throws InvalidParameterSpecException
使用在 paramSpec 中指定的参数初始化此参数对象。

参数:
paramSpec - 参数规范。
抛出:
InvalidParameterSpecException - 如果给定的参数规范不适用于初始化此参数对象,或者已经初始化此参数对象。

init

public final void init(byte[] params)
                throws IOException
根据参数的基本解码格式导入指定的参数并对其解码。如果此参数类型的 ASN.1 规范存在,则参数的基本解码格式即为 ASN.1。

参数:
params - 编码的参数。
抛出:
IOException - 如果发生解码错误,或者已经初始化此参数对象。

init

public final void init(byte[] params,
                       String format)
                throws IOException
根据指定的解码方案从 params 导入参数并对其解码。如果 format 为 null,则使用参数的基本解码格式。如果这些参数的 ASN.1 规范存在,则基本解码格式即为 ASN.1。

参数:
params - 编码的参数。
format - 解码方案的名称。
抛出:
IOException - 如果发生解码错误,或者已经初始化此参数对象。

getParameterSpec

public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec)
                                                        throws InvalidParameterSpecException
返回此参数对象的(透明)规范。paramSpec 标识应该在其中返回参数的规范类。例如,该类可以为 DSAParameterSpec.class,指示应该在 DSAParameterSpec 类的实例中返回参数。

参数:
paramSpec - 应该在其中返回参数的规范类。
返回:
参数规范。
抛出:
InvalidParameterSpecException - 如果请求的参数规范不适合此参数对象,或者尚未初始化此参数对象。

getEncoded

public final byte[] getEncoded()
                        throws IOException
返回基本编码格式的参数。如果此参数类型的 ASN.1 规范存在,则参数的基本编码格式即为 ASN.1。

返回:
使用基本编码格式编码的参数。
抛出:
IOException - 如果发生编码错误,或者尚未初始化此参数对象。

getEncoded

public final byte[] getEncoded(String format)
                        throws IOException
返回以指定方案编码的参数。如果 format 为 null,则使用参数的基本编码格式。如果这些参数的 ASN.1 规范存在,则基本编码格式即为 ASN.1。

参数:
format - 编码格式的名称。
返回:
使用指定的编码方案编码的参数。
抛出:
IOException - 如果发生编码错误,或者尚未初始化此参数对象。

toString

public final String toString()
返回描述参数的格式化字符串。

覆盖:
Object 中的 toString
返回:
描述参数的格式化字符串;如果尚未初始化此参数对象,则返回 null。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

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