java.lang.Object java.security.AlgorithmParameters
public class AlgorithmParameters
此类用作密码参数的不透明表示形式。
可以通过调用 getInstance
工厂方法(返回给定类的实例的 static 方法)之一获取用于管理特定算法的参数的 AlgorithmParameters
对象。
返回 AlgorithmParameters
对象后,必须使用适当的参数规范或参数编码通过调用 init
方法初始化该对象。
通过调用 getParameterSpec
可以从 AlgorithmParameters
对象获取透明参数规范,可以通过调用 getEncoded
获取参数的字节编码。
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) 返回指定算法的参数对象。 |
|
|
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 |
构造方法详细信息 |
---|
protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
paramSpi
- 委托
provider
- 提供者
algorithm
- 算法
方法详细信息 |
---|
public final String getAlgorithm()
public static AlgorithmParameters getInstance(String algorithm) throws NoSuchAlgorithmException
此方法从首选 Provider 开始,遍历已注册安全提供者列表。返回一个封装 AlgorithmParametersSpi 实现的新 AlgorithmParameters 对象,该实现取自第一个支持指定算法的 Provider。
注意,已注册提供者列表可以通过 Security.getProviders()
方法获得。
必须使用适当参数规范或参数编码通过调用 init
方法初始化返回的参数对象。
algorithm
- 所请求算法的名称。有关标准算法名称的信息,请参阅
Java Cryptography Architecture API Specification & Reference 的附录 A。
NoSuchAlgorithmException
- 如果没有任何 Provider 支持指定算法的 AlgorithmParametersSpi 实现。
Provider
public static AlgorithmParameters getInstance(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
public static AlgorithmParameters getInstance(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。
Provider
public final Provider getProvider()
public final void init(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
paramSpec
中指定的参数初始化此参数对象。
paramSpec
- 参数规范。
InvalidParameterSpecException
- 如果给定的参数规范不适用于初始化此参数对象,或者已经初始化此参数对象。
public final void init(byte[] params) throws IOException
params
- 编码的参数。
IOException
- 如果发生解码错误,或者已经初始化此参数对象。
public final void init(byte[] params, String format) throws IOException
params
导入参数并对其解码。如果
format
为 null,则使用参数的基本解码格式。如果这些参数的 ASN.1 规范存在,则基本解码格式为 ASN.1。
params
- 编码的参数。
format
- 解码方案的名称。
IOException
- 如果发生解码错误,或者已经初始化此参数对象。
public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec) throws InvalidParameterSpecException
paramSpec
标识应该在其中返回参数的规范类。例如,该类可以为
DSAParameterSpec.class
,指示应该在
DSAParameterSpec
类的实例中返回参数。
paramSpec
- 应该在其中返回参数的规范类。
InvalidParameterSpecException
- 如果请求的参数规范不适合此参数对象,或者尚未初始化此参数对象。
public final byte[] getEncoded() throws IOException
IOException
- 如果发生编码错误,或者尚未初始化此参数对象。
public final byte[] getEncoded(String format) throws IOException
format
为 null,则使用参数的基本编码格式。如果这些参数的 ASN.1 规范存在,则基本编码格式为 ASN.1。
format
- 编码格式的名称。
IOException
- 如果发生编码错误,或者尚未初始化此参数对象。
public final String toString()