- java.lang.Object
-
- java.security.Provider.Service
-
- Enclosing class:
- Provider
public static class Provider.Serviceextends Object
安全服务的描述。 它封装了服务的属性,并包含一个工厂方法来获取此服务的新实现实例。每个服务都有一个提供服务的提供程序,一个类型,一个算法名称以及实现该服务的类的名称。 (可选)还包括此服务的备用算法名称列表(别名)和属性,它们是(名称,值)字符串对的映射。
此类定义方法
supportsParameter()
和newInstance()
,Java安全框架在搜索合适的服务并实例化它们时使用这些方法。 这些方法的有效参数取决于服务类型。 有关Java SE中定义的服务类型,请参阅Java Cryptography Architecture (JCA) Reference Guide以获取有效值。 请注意,Java SE之外的组件可以定义其他类型的服务及其行为。此类的实例是不可变的。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 String
getAlgorithm()
返回此服务的算法名称。String
getAttribute(String name)
返回指定属性的值,如果未为此服务设置此属性,则返回null。String
getClassName()
返回实现此服务的类的名称。Provider
getProvider()
返回此服务的提供者。String
getType()
获取此服务的类型。Object
newInstance(Object constructorParameter)
返回此服务描述的实现的新实例。boolean
supportsParameter(Object parameter)
测试此服务是否可以使用指定的参数。String
toString()
返回此服务的String表示形式。
-
-
-
构造方法详细信息
-
Service
public Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
构建新服务。- 参数
-
provider
- 提供此服务的提供商 -
type
- 此服务的类型 -
algorithm
- 算法名称 -
className
- 实现此服务的类的名称 -
aliases
- 别名列表,如果算法没有别名,则为null -
attributes
- 属性映射,如果此实现没有属性,则返回null - 异常
-
NullPointerException
- 如果provider,type,algorithm或className为null
-
-
方法详细信息
-
getType
public final String getType()
获取此服务的类型。 例如,MessageDigest
。- 结果
- 这种服务的类型
-
getAlgorithm
public final String getAlgorithm()
返回此服务的算法名称。 例如,SHA-1
。- 结果
- 这项服务的算法
-
getProvider
public final Provider getProvider()
返回此服务的提供者。- 结果
- 此服务的提供者
-
getClassName
public final String getClassName()
返回实现此服务的类的名称。- 结果
- 实现此服务的类的名称
-
getAttribute
public final String getAttribute(String name)
返回指定属性的值,如果未为此服务设置此属性,则返回null。- 参数
-
name
- 请求的属性的名称 - 结果
- 指定属性的值;如果该属性不存在,则返回null
- 异常
-
NullPointerException
- 如果name为null
-
newInstance
public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
返回此服务描述的实现的新实例。 安全提供程序框架使用此方法构造实现。 应用程序通常不需要调用它。默认实现使用反射来调用此类服务的标准构造函数。 安全提供程序可以重写此方法以以不同方式实现实例化。 有关对各种类型的服务有效的constructorParameter的详细信息和值,请参阅Java Cryptography Architecture (JCA) Reference Guide 。
- 参数
-
constructorParameter
- 要传递给构造函数的值,如果此类服务不使用constructorParameter,则返回null。 - 结果
- 这项服务的新实现
- 异常
-
InvalidParameterException
- 如果constructorParameter的值对此类服务无效。 -
NoSuchAlgorithmException
- 如果实例化由于任何其他原因而失败。
-
supportsParameter
public boolean supportsParameter(Object parameter)
测试此服务是否可以使用指定的参数。 如果此服务无法使用该参数,则返回false。 如果此服务可以使用该参数,如果快速测试不可行,或者状态未知,则返回true。安全提供程序框架将此方法与某些类型的服务一起使用,以快速排除不匹配的实现以供考虑。 应用程序通常不需要调用它。
有关各种类型服务有效的详细信息和参数值,请参阅此类的顶部和Java Cryptography Architecture (JCA) Reference Guide 。 安全提供程序可以覆盖它以实现自己的测试。
- 参数
-
parameter
- 要测试的参数 - 结果
- 如果此服务无法使用指定的参数,则为false; 如果它可以使用参数,则为true
- 异常
-
InvalidParameterException
- 如果参数值对此类服务无效,或者此方法不能与此类服务一起使用
-
-