java.lang.Object
java.security.Provider.Service
- 封闭类:
Provider
安全服务的描述。它封装了一个服务的属性,并包含一个工厂方法来获取这个服务的新实现实例。
每个服务都有一个提供该服务的提供者、一个类型、一个算法名称和实现该服务的类的名称。可选地,它还包括此服务的备用算法名称列表(别名)和属性,它们是(名称,值)String
对的映射。
此类定义了方法 supportsParameter()
和 newInstance()
,Java 安全框架在搜索合适的服务并实例化它们时使用这些方法。这些方法的有效参数取决于服务的类型。对于 Java SE 中定义的服务类型,请参阅 Java 加密体系结构 (JCA) 参考指南 以获取有效值。请注意,Java SE 之外的组件可以定义其他类型的服务及其行为。
此类的实例是不可变的。
- 自从:
- 1.5
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述final String
返回此服务的算法名称。final String
getAttribute
(String name) 返回指定属性的值,如果未为此服务设置此属性,则返回null
。final String
返回实现此服务的类的名称。final Provider
返回此服务的提供者。final String
getType()
获取此服务的类型。newInstance
(Object constructorParameter) 返回此服务描述的实现的新实例。boolean
supportsParameter
(Object parameter) 测试此服务是否可以使用指定的参数。toString()
返回此服务的String
表示。
-
构造方法详细信息
-
服务
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
- 如果提供者、类型、算法或类名是null
-
-
方法详情
-
getType
获取此服务的类型。例如,MessageDigest
。- 返回:
- 此服务的类型
-
getAlgorithm
返回此服务的算法名称。例如,SHA-1
。- 返回:
- 该服务的算法
-
getProvider
返回此服务的提供者。- 返回:
- 该服务的提供者
-
getClassName
返回实现此服务的类的名称。- 返回:
- 实现此服务的类的名称
-
getAttribute
返回指定属性的值,如果未为此服务设置此属性,则返回null
。- 参数:
name
- 请求属性的名称- 返回:
-
指定属性的值或
null
(如果该属性不存在) - 抛出:
NullPointerException
- 如果名字是null
-
newInstance
返回此服务描述的实现的新实例。安全提供者框架使用此方法来构造实现。应用程序通常不需要调用它。默认实现使用反射来调用此类服务的标准构造函数。安全提供者可以覆盖此方法以不同的方式实现实例化。有关对各种服务类型有效的 constructorParameter 的详细信息和值,请参阅 Java 加密体系结构 (JCA) 参考指南。
- 参数:
constructorParameter
- 传递给构造函数的值,如果此类服务不使用构造函数参数,则为null
。- 返回:
- 此服务的新实现
- 抛出:
InvalidParameterException
- 如果 constructorParameter 的值对于此类服务无效。NoSuchAlgorithmException
- 如果实例化因任何其他原因失败。
-
supportsParameter
测试此服务是否可以使用指定的参数。如果此服务无法使用该参数,则返回false
。如果此服务可以使用参数、快速测试不可行或状态未知,则返回true
。安全提供者框架将此方法与某些类型的服务一起使用,以快速排除不匹配的实现以供考虑。应用程序通常不需要调用它。
有关详细信息和对各种类型的服务有效的参数值,请参阅此类的顶部和 Java 加密体系结构 (JCA) 参考指南。安全提供者可以覆盖它来实施他们自己的测试。
- 参数:
parameter
- 要测试的参数- 返回:
false
如果此服务不能使用指定的参数;true
是否可以使用参数- 抛出:
InvalidParameterException
- 如果参数值对于此类服务无效,或者此方法不能用于此类服务
-
toString
返回此服务的String
表示。
-