- java.lang.Object
-
- javax.security.auth.kerberos.EncryptionKey
-
- All Implemented Interfaces:
-
Serializable
,Key
,SecretKey
,Destroyable
public final class EncryptionKey extends Object implements SecretKey
此类封装了Kerberos中使用的EncryptionKey。EncryptionKey在Kerberos协议规范( RFC 4120 )的第4.2.9节中定义为:
EncryptionKey ::= SEQUENCE { keytype [0] Int32 -- actually encryption type --, keyvalue [1] OCTET STRING }
EncryptionKey
的关键材料定义为上述keyValue
的值。- 从以下版本开始:
- 9
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 EncryptionKey(byte[] keyBytes, int keyType)
从给定的字节和键类型构造一个EncryptionKey
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
destroy()
清除此键的关键材料来销毁此键。boolean
equals(Object other)
将指定的对象与此键进行比较以获得相等性。String
getAlgorithm()
返回此键的标准算法名称。byte[]
getEncoded()
返回此键的关键材料。String
getFormat()
返回此键的编码格式的名称。int
getKeyType()
返回此键的键类型。int
hashCode()
返回此EncryptionKey
的哈希码。boolean
isDestroyed()
确定这个Object
是否已被销毁。String
toString()
返回此EncryptionKey
的内容丰富的文字表示。
-
-
-
构造方法详细信息
-
EncryptionKey
public EncryptionKey(byte[] keyBytes, int keyType)
从给定的字节和键类型构造一个EncryptionKey
。字节数组的内容被复制; 字节数组的后续修改不影响新创建的密钥。
- 参数
-
keyBytes
- 钥匙的关键材料 -
keyType
- 由Kerberos协议规范定义的密钥的密钥类型。 - 异常
-
NullPointerException
- 如果keyBytes为空
-
-
方法详细信息
-
getKeyType
public int getKeyType()
返回此键的键类型。- 结果
- 关键类型。
- 异常
-
IllegalStateException
- 如果密钥被销毁
-
getAlgorithm
public String getAlgorithm()
返回此键的标准算法名称。 算法名称是IANA Kerberos Encryption Type Numbers页面上定义的加密类型字符串。此方法可以返回IANA页面上未定义的以下值:
- 无:对于etype等于0
- 未知:对于etype大于0但不支持实现
- private:对于小于0的etype
- Specified by:
-
getAlgorithm
在接口Key
- 结果
- 与该密钥相关联的算法的名称。
- 异常
-
IllegalStateException
- 如果密钥被销毁
-
getFormat
public String getFormat()
返回此键的编码格式的名称。- Specified by:
-
getFormat
在接口Key
- 结果
- 字符串“RAW”
- 异常
-
IllegalStateException
- 如果密钥被销毁
-
getEncoded
public byte[] getEncoded()
返回此键的关键材料。- Specified by:
-
getEncoded
在接口Key
- 结果
- 一个新分配的包含密钥材料的字节数组
- 异常
-
IllegalStateException
- 如果密钥被销毁
-
destroy
public void destroy() throws DestroyFailedException
清除此键的关键材料来销毁此键。- Specified by:
-
destroy
在接口Destroyable
- 异常
-
DestroyFailedException
- 如果在破坏此密钥时发生某些错误。
-
isDestroyed
public boolean isDestroyed()
描述从接口Destroyable
复制确定这个Object
是否已被销毁。- Specified by:
-
isDestroyed
在接口Destroyable
- 结果
-
如果这个
Object
已被销毁,Object
true,否则为false。
-
toString
public String toString()
返回此EncryptionKey
的内容丰富的文字表示。
-
hashCode
public int hashCode()
返回此EncryptionKey
的哈希码。- 重写:
-
hashCode
在Object
- 结果
-
这个
EncryptionKey
的哈希码。 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object other)
将指定的对象与此键进行比较以获得相等性。 如果给定的对象也是EncryptionKey
,并且两个EncryptionKey
实例是等价的,则返回true。 更正式地,两个EncryptionKey
实例相等,如果它们具有相同的密钥类型和密钥材料。 一个销毁的EncryptionKey
对象只能等于自己。- 重写:
-
equals
在Object
- 参数
-
other
- 要比较的对象 - 结果
-
如果指定的对象等于这个
EncryptionKey
,EncryptionKey
true,否则为false。 - 另请参见:
-
Object.hashCode()
,HashMap
-
-