Class KeyTab

    • 方法详细信息

      • getInstance

        public static KeyTab getInstance​(File file)
        从绑定到未知服务主体的File对象返回KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与文件关联,并且不读取它。

        当已知绑定服务主体时,开发人员应致电getInstance(KerberosPrincipal,File)

        参数
        file - keytab File对象,不得为null
        结果
        keytab实例
        异常
        NullPointerException - 如果 file参数为null
      • getUnboundInstance

        public static KeyTab getUnboundInstance​(File file)
        File对象返回未绑定的KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与文件关联,并且不读取它。

        参数
        file - keytab File对象,不能为null
        结果
        keytab实例
        异常
        NullPointerException - 如果file参数为null
        从以下版本开始:
        1.8
      • getInstance

        public static KeyTab getInstance​(KerberosPrincipal princ,
                                         File file)
        从绑定到指定服务主体的File对象返回KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与文件关联,并且不读取它。

        参数
        princ - 绑定的服务主体,不能为null
        file - keytab File对象,不得为null
        结果
        keytab实例
        异常
        NullPointerException - 如果其中一个参数为null
        从以下版本开始:
        1.8
      • getInstance

        public static KeyTab getInstance()
        返回绑定到未知服务主体的默认KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与默认密钥表文件关联,并且不读取它。

        当绑定服务主体已知时,开发人员应致电getInstance(KerberosPrincipal)

        结果
        默认的keytab实例。
      • getUnboundInstance

        public static KeyTab getUnboundInstance()
        返回默认的未绑定KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与默认密钥表文件关联,并且不读取它。

        结果
        默认的keytab实例
        从以下版本开始:
        1.8
      • getInstance

        public static KeyTab getInstance​(KerberosPrincipal princ)
        返回绑定到指定服务主体的默认KeyTab实例。

        此方法的结果永远不会为null。 此方法仅将返回的KeyTab对象与默认密钥表文件关联,并且不读取它。

        参数
        princ - 绑定的服务主体,不能为null
        结果
        默认的keytab实例
        异常
        NullPointerException - 如果 princ为空
        从以下版本开始:
        1.8
      • getKeys

        public KerberosKey[] getKeys​(KerberosPrincipal principal)
        返回给定Kerberos主体的新密钥。

        此方法的实现应确保返回的键与keytab文件的最新内容匹配。 结果是新创建的副本,调用者可以修改该副本而无需修改keytab对象。 使用后,调用者应该使用结果键destroy

        请注意,可以在实例化KeyTab对象后创建keytab文件,其内容可能会随时间而变化。 因此,应用程序应仅在需要使用密钥时调用此方法。 先前调用的任何先前结果可能已过期。

        如果在keytab文件的读取过程中出现任何错误(例如,I / O错误或格式错误),则应返回保存的结果。 如果没有保存结果(例如,这是第一次调用此方法,或者所有先前的读取尝试都失败),则应返回空数组。 这可以确保在keytab文件的(可能很慢)更新期间不会彻底更改结果。

        每次调用此方法并且文件读取成功且没有异常(例如,I / O错误或文件格式错误)时,应保存结果principal 如果方便的话,该实现还可以保存具有相同keytab对象中的键的其他主体的键。

        从keytab读取的任何不受支持的密钥都将被忽略,并且不包含在结果中。

        如果此keytab绑定到特定主体,则在另一个主体上调用此方法将返回一个空数组。

        参数
        principal - Kerberos主体,不能为空。
        结果
        键(永远不会为空,可能为空)
        异常
        NullPointerException - 如果 principal参数为null
        SecurityException - 如果存在安全管理器,则不允许对keytab文件进行读访问
      • exists

        public boolean exists()
        检查keytab文件是否存在。 此方法的实现应确保结果与keytab文件的最新状态匹配。

        调用者可以使用结果来确定它是否应该回退到另一种机制来读取密钥。

        结果
        如果keytab文件存在,则为true; 否则是假的。
        异常
        SecurityException - 如果存在安全管理器,则不允许对keytab文件进行读访问
      • toString

        public String toString()
        返回此 KeyTab的信息性文本表示 KeyTab
        重写:
        toString在类 Object
        结果
        这是 KeyTab的内容丰富的文字表述。
      • equals

        public boolean equals​(Object other)
        将指定对象与此KeyTab进行比较以确保相等性。 如果给定对象也是KeyTab且两个KeyTab实例等效,则返回true。
        重写:
        equals在类 Object
        参数
        other - 要比较的对象
        结果
        如果指定的对象等于此 KeyTab
        另请参见:
        Object.hashCode()HashMap
      • getPrincipal

        public KerberosPrincipal getPrincipal()
        返回此KeyTab对象绑定的服务主体。 如果没有绑定,则返回null

        请注意,不推荐使用的构造函数会为某个未知主体创建一个KeyTab对象。 在这种情况下,此方法也返回null。 用户可致电isBound()验证此案例。

        结果
        服务负责人
        从以下版本开始:
        1.8
      • isBound

        public boolean isBound()
        如果keytab绑定到主体,则返回
        结果
        如果keytab绑定到主体
        从以下版本开始:
        1.8