- 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 方法 描述 voiddestroy()清除此键的关键材料来销毁此键。booleanequals(Object other)将指定的对象与此键进行比较以获得相等性。StringgetAlgorithm()返回此键的标准算法名称。byte[]getEncoded()返回此键的关键材料。StringgetFormat()返回此键的编码格式的名称。intgetKeyType()返回此键的键类型。inthashCode()返回此EncryptionKey的哈希码。booleanisDestroyed()确定这个Object是否已被销毁。StringtoString()返回此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已被销毁,Objecttrue,否则为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,EncryptionKeytrue,否则为false。 - 另请参见:
-
Object.hashCode(),HashMap
-
-