java.lang.Object
javax.security.auth.kerberos.EncryptionKey
- 所有已实现的接口:
-
Serializable
,Key
,SecretKey
,Destroyable
此类封装了Kerberos中使用的EncryptionKey。
EncryptionKey在Kerberos协议规范的第4.2.9节中定义如下:
EncryptionKey ::= SEQUENCE { keytype [0] Int32 -- 实际上是加密类型 --, keyvalue [1] OCTET STRING }
EncryptionKey
的密钥材料定义为上述keyValue
的值。
- 自:
- 9
- 参见:
-
Constructor Details
-
EncryptionKey
public EncryptionKey(byte[] keyBytes, int keyType) 从给定的字节和密钥类型构造一个EncryptionKey
。字节数组的内容将被复制;对字节数组的后续修改不会影响新创建的密钥。
- 参数:
-
keyBytes
- 密钥的密钥材料 -
keyType
- 由Kerberos协议规范定义的密钥类型 - 抛出:
-
NullPointerException
- 如果keyBytes为null
-
-
Method Details
-
getKeyType
public int getKeyType()返回此密钥的密钥类型。- 返回:
- 密钥类型。
- 抛出:
-
IllegalStateException
- 如果密钥已销毁
-
getAlgorithm
返回此密钥的标准算法名称。算法名称是在IANA Kerberos Encryption Type Numbers页面上定义的加密类型字符串。此方法可能返回以下未在IANA页面上定义的值:
- none: 对于etype等于0
- unknown: 对于etype大于0但不受实现支持
- private: 对于etype小于0
- 指定者:
-
getAlgorithm
在接口Key
中 - 返回:
- 与此密钥关联的算法名称。
- 抛出:
-
IllegalStateException
- 如果密钥已销毁
-
getFormat
返回此密钥的编码格式名称。- 指定者:
-
getFormat
在接口Key
中 - 返回:
- 字符串"RAW"
- 抛出:
-
IllegalStateException
- 如果密钥已销毁
-
getEncoded
public byte[] getEncoded()返回此密钥的密钥材料。- 指定者:
-
getEncoded
在接口Key
中 - 返回:
- 包含密钥材料的新分配的字节数组
- 抛出:
-
IllegalStateException
- 如果密钥已销毁
-
destroy
通过清除此密钥的密钥材料来销毁此密钥。- 指定者:
-
destroy
在接口Destroyable
中 - 抛出:
-
DestroyFailedException
- 如果销毁此密钥时发生错误
-
toString
返回此EncryptionKey
的信息性文本表示。 -
hashCode
public int hashCode()返回此EncryptionKey
的哈希码。 -
equals
比较指定的对象与此密钥是否相等。如果给定对象也是一个EncryptionKey
并且两个EncryptionKey
实例是等价的,则返回true。更正式地说,如果两个EncryptionKey
实例具有相同的密钥类型和密钥材料,则它们是相等的。已销毁的EncryptionKey
对象仅等于其自身。
-