Class KeyTab

    • 方法详细信息

      • getInstance

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

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

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

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

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

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

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

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

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

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

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

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

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

        结果
        默认的keytab实例。
      • getUnboundInstance

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

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

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

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

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

        参数
        princ - 绑定的服务主体不能为空
        结果
        默认的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绑定到特定的主体,则在另一个主体上调用此方法将返回一个空数组。

        参数
        principal - Kerberos主体不能为空。
        结果
        键(从不为空,可能为空)
        异常
        NullPointerException - 如果 principal参数为空
        SecurityException - 如果安全管理器存在,并且不允许对keytab文件的读取访问
      • exists

        public boolean exists​()
        检查keytab文件是否存在。 该方法的实现应该确保结果符合keytab文件的最新状态。

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

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

        public String toString​()
        返回此 KeyTab的内容丰富的文字表示。
        重写:
        toString Object
        结果
        这个 KeyTab的内容丰富的文字表示。
      • equals

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

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

        请注意,弃用的构造函数创建一个KeyTab对象,绑定一些未知的主体。 在这种情况下,此方法也返回null。 用户可以拨打isBound()来验证这种情况。

        结果
        服务主体
        从以下版本开始:
        1.8
      • isBound

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