- 所有父级接口:
Serializable
- 所有已知的子接口:
DHPrivateKey,DHPublicKey,DSAPrivateKey,DSAPublicKey,ECPrivateKey,ECPublicKey,EdECPrivateKey,EdECPublicKey,PBEKey,PrivateKey,PublicKey,RSAMultiPrimePrivateCrtKey,RSAPrivateCrtKey,RSAPrivateKey,RSAPublicKey,SecretKey,XECPrivateKey,XECPublicKey
- 所有已知的实现类:
EncryptionKey,KerberosKey,SecretKeySpec
Key 接口是所有键的顶级接口。它定义了所有 Key 对象共享的功能。所有键都具有三个特征:
- 一个算法
这是该密钥的密钥算法。密钥算法通常是加密或非对称运算算法(如 DSA 或 RSA),它将与那些算法和相关算法(如 MD5 与 RSA、SHA-1 与 RSA、Raw DSA 等)一起工作。使用
getAlgorithm方法获得密钥的算法。 - 编码形式
这是在 Java 虚拟机之外需要密钥的标准表示时使用的密钥的外部编码形式,就像将密钥传输给其他方时一样。密钥根据标准格式(例如 X.509
SubjectPublicKeyInfo或 PKCS#8)进行编码,并使用getEncoded方法返回。注:ASN.1类型SubjectPublicKeyInfo的语法定义如下:SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL }有关详细信息,请参阅 RFC 5280:Internet X.509 公钥基础结构证书和 CRL 配置文件。 - 格式
这是编码密钥的格式名称。它由
getFormat方法返回。
KeyFactory )。
Key 应该使用 KeyRep 作为其序列化表示。请注意,序列化密钥可能包含不应在不受信任的环境中公开的敏感信息。参见 安全附录 的Java 对象序列化规范了解更多信息。
- 自从:
- 1.1
- 参见:
-
字段摘要
字段 -
方法总结
修饰符和类型方法描述返回此密钥的标准算法名称。byte[]以其主要编码格式返回密钥,如果此密钥不支持编码,则返回null。返回此密钥的主要编码格式的名称,如果此密钥不支持编码,则返回null。
-
字段详细信息
-
serialVersionUID
已弃用。接口中的serialVersionUID字段无效。不使用;没有替代品。设置为指示与该类的先前版本的序列化兼容性的类指纹。- 参见:
-
-
方法详情
-
getAlgorithm
String getAlgorithm()返回此密钥的标准算法名称。例如,“DSA”表示此密钥是 DSA 密钥。有关标准密钥算法名称的信息,请参阅 Java 安全标准算法名称规范 中的密钥相关部分(KeyFactory、KeyGenerator、KeyPairGenerator 和 SecretKeyFactory)。- 返回:
- 与此密钥关联的算法的名称。
-
getFormat
String getFormat()返回此密钥的主要编码格式的名称,如果此密钥不支持编码,则返回null。如果此密钥存在 ASN.1 规范,则主要编码格式根据适当的 ASN.1 数据格式命名。例如,公钥的 ASN.1 数据格式的名称是SubjectPublicKeyInfo按照 X.509 标准的定义;在这种情况下,返回的格式是"X.509"。同样,私钥的 ASN.1 数据格式的名称是PrivateKeyInfo,由 PKCS #8 标准定义;在这种情况下,返回的格式是"PKCS#8"。- 返回:
- 密钥的主要编码格式。
-
getEncoded
byte[] getEncoded()以其主要编码格式返回密钥,如果此密钥不支持编码,则返回null。- 返回:
-
编码的密钥,或者
null如果密钥不支持编码。
-
serialVersionUID字段无效。