目录搜索
文字
分享


JavaTM 2 Platform
Standard Ed. 6

java.security
类 AlgorithmParameters

1

2

java.lang.Object

  <img src="../../resources/inherit.gif" alt="继承者 "><b>java.security.AlgorithmParameters</b>


1

public class <b>AlgorithmParameters</b>

extends Object

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

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

返回 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)
          返回指定算法的参数对象。
static AlgorithmParameters getInstance(String algorithm, String provider)
          返回指定算法的参数对象。
<T extends AlgorithmParameterSpec>
T
getParameterSpec(Class<T> paramSpec)
          返回此参数对象的(透明)规范。
 Provider getProvider()
          返回此参数对象的提供者。
 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

1

2

3

protected <b>AlgorithmParameters</b>(AlgorithmParametersSpi paramSpi,

                              Provider provider,

                              String algorithm)

创建一个 AlgorithmParameters 对象。

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

getAlgorithm

1

public final String <b>getAlgorithm</b>()

返回与此参数对象关联的算法的名称。

返回:
算法名称。

getInstance

1

2

public static AlgorithmParameters <b>getInstance</b>(String algorithm)

                                       throws NoSuchAlgorithmException

返回指定算法的参数对象。

此方法从首选 Provider 开始,遍历已注册安全提供者列表。返回一个封装 AlgorithmParametersSpi 实现的新 AlgorithmParameters 对象,该实现取自第一个支持指定算法的 Provider。

注意,已注册提供者列表可以通过 Security.getProviders() 方法获得。

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

参数:
algorithm - 所请求算法的名称。有关标准算法名称的信息,请参阅 Java Cryptography Architecture API Specification & Reference 的附录 A。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果没有任何 Provider 支持指定算法的 AlgorithmParametersSpi 实现。
另请参见:
Provider

getInstance

1

2

3

4

public static AlgorithmParameters <b>getInstance</b>(String algorithm,

                                              String provider)

                                       throws NoSuchAlgorithmException,

                                              NoSuchProviderException

返回指定算法的参数对象。

返回一个封装 AlgorithmParametersSpi 实现的新 AlgorithmParameters 对象,该实现取自指定的提供者。指定的提供者必须已经在安全提供者列表中注册。

注意,已注册提供者列表可以使用 Security.getProviders() 方法获得。

参数:
algorithm - 所请求算法的名称。有关标准算法名称的信息,请参阅 Java Cryptography Architecture API Specification & Reference 的附录 A。
provider - 提供者的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果无法从指定提供者获得指定算法的 AlgorithmParametersSpi 实现。
NoSuchProviderException - 如果指定提供者没有在安全提供者列表中注册。
IllegalArgumentException - 如果提供者的名称为 null 或空。
另请参见:
Provider

getInstance

1

2

3

public static AlgorithmParameters <b>getInstance</b>(String algorithm,

                                              Provider provider)

                                       throws NoSuchAlgorithmException

返回指定算法的参数对象。

返回一个封装 AlgorithmParametersSpi 实现的新 AlgorithmParameters 对象,该实现取自指定的 Provider 对象。注意,指定的 Provider 对象无需在提供者列表中注册。

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

参数:
algorithm - 所请求算法的名称。有关标准算法名称的信息,请参阅 Java Cryptography Architecture API Specification & Reference 的附录 A。
provider - 提供者的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果无法从指定 Provider 对象获得指定算法的 AlgorithmParametersSpi 实现。
IllegalArgumentException - 如果 provider 为 null。
从以下版本开始:
1.4
另请参见:
Provider

getProvider

1

public final Provider <b>getProvider</b>()

返回此参数对象的提供者。

返回:
此参数对象的提供者。

init

1

2

public final void <b>init</b>(AlgorithmParameterSpec paramSpec)

                throws InvalidParameterSpecException

使用在 paramSpec 中指定的参数初始化此参数对象。

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

init

1

2

public final void <b>init</b>(byte[] params)

                throws IOException

根据参数的基本解码格式导入指定的参数并对其解码。如果此参数类型的 ASN.1 规范存在,则参数的基本解码格式为 ASN.1。

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

init

1

2

3

public final void <b>init</b>(byte[] params,

                       String format)

                throws IOException

根据指定的解码方案从 params 导入参数并对其解码。如果 format 为 null,则使用参数的基本解码格式。如果这些参数的 ASN.1 规范存在,则基本解码格式为 ASN.1。

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

getParameterSpec

1

2

public final <T extends AlgorithmParameterSpec> T <b>getParameterSpec</b>(Class<T> paramSpec)

                                                        throws InvalidParameterSpecException

返回此参数对象的(透明)规范。paramSpec 标识应该在其中返回参数的规范类。例如,该类可以为 DSAParameterSpec.class,指示应该在 DSAParameterSpec 类的实例中返回参数。

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

getEncoded

1

2

public final byte[] <b>getEncoded</b>()

                        throws IOException

返回基本编码格式的参数。如果此参数类型的 ASN.1 规范存在,则参数的基本编码格式为 ASN.1。

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

getEncoded

1

2

public final byte[] <b>getEncoded</b>(String format)

                        throws IOException

返回以指定方案编码的参数。如果 format 为 null,则使用参数的基本编码格式。如果这些参数的 ASN.1 规范存在,则基本编码格式为 ASN.1。

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

toString

1

public final String <b>toString</b>()

返回描述参数的格式化字符串。

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

JavaTM 2 Platform
Standard Ed. 6

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

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