模块 java.base

类 Provider.Service

java.lang.Object
java.security.Provider.Service
封闭类:
Provider

public static class Provider.Service extends Object
安全服务的描述。它封装了一个服务的属性,并包含一个工厂方法来获取这个服务的新实现实例。

每个服务都有一个提供该服务的提供者、一个类型、一个算法名称和实现该服务的类的名称。可选地,它还包括此服务的备用算法名称列表(别名)和属性,它们是(名称,值)String 对的映射。

此类定义了方法 supportsParameter() newInstance() ,Java 安全框架在搜索合适的服务并实例化它们时使用这些方法。这些方法的有效参数取决于服务的类型。对于 Java SE 中定义的服务类型,请参阅 Java 加密体系结构 (JCA) 参考指南 以获取有效值。请注意,Java SE 之外的组件可以定义其他类型的服务及其行为。

此类的实例是不可变的。

自从:
1.5
  • 构造方法详细信息

    • 服务

      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

      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 - 如果名字是 null
    • newInstance

      public Object  newInstance(Object  constructorParameter) throws NoSuchAlgorithmException
      返回此服务描述的实现的新实例。安全提供者框架使用此方法来构造实现。应用程序通常不需要调用它。

      默认实现使用反射来调用此类服务的标准构造函数。安全提供者可以覆盖此方法以不同的方式实现实例化。有关对各种服务类型有效的 constructorParameter 的详细信息和值,请参阅 Java 加密体系结构 (JCA) 参考指南

      参数:
      constructorParameter - 传递给构造函数的值,如果此类服务不使用构造函数参数,则为 null
      返回:
      此服务的新实现
      抛出:
      InvalidParameterException - 如果 constructorParameter 的值对于此类服务无效。
      NoSuchAlgorithmException - 如果实例化因任何其他原因失败。
    • supportsParameter

      public boolean supportsParameter(Object  parameter)
      测试此服务是否可以使用指定的参数。如果此服务无法使用该参数,则返回 false。如果此服务可以使用参数、快速测试不可行或状态未知,则返回 true

      安全提供者框架将此方法与某些类型的服务一起使用,以快速排除不匹配的实现以供考虑。应用程序通常不需要调用它。

      有关详细信息和对各种类型的服务有效的参数值,请参阅此类的顶部和 Java 加密体系结构 (JCA) 参考指南。安全提供者可以覆盖它来实施他们自己的测试。

      参数:
      parameter - 要测试的参数
      返回:
      false 如果此服务不能使用指定的参数; true 是否可以使用参数
      抛出:
      InvalidParameterException - 如果参数值对于此类服务无效,或者此方法不能用于此类服务
    • toString

      public String  toString()
      返回此服务的 String 表示。
      重写:
      toString 在类 Object
      返回:
      此服务的 String 表示。