所有类


java.security
接口 Key

所有超级接口:
Serializable
所有已知子接口:
DHPrivateKey, DHPublicKey, DSAPrivateKey, DSAPublicKey, ECPrivateKey, ECPublicKey, PBEKey, PrivateKey, PublicKey, RSAMultiPrimePrivateCrtKey, RSAPrivateCrtKey, RSAPrivateKey, RSAPublicKey, SecretKey
所有已知实现类:
KerberosKey, SecretKeySpec

public interface Key
   
   
   
   
   
extends Serializable

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 2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile.

  • 格式

    这是已编码密钥的格式的名称。它由 getFormat 方法返回。

密钥通常通过密钥生成器、证书或用来管理密钥的各种 Identity 类来获取。密钥也可以通过使用密钥工厂(请参见 KeyFactory)从密钥规范(基础密钥材料的透明表示形式)获取。

密钥应该使用 KeyRep 作为其序列化的表示形式。注意,序列化的 Key 可能包含不应该在不可信任的环境中显示的敏感信息。有关更多信息,请参见序列化规范的安全附录

另请参见:
PublicKey, PrivateKey, KeyPair, KeyPairGenerator, KeyFactory, KeyRep, KeySpec, Identity, Signer

字段摘要
static longserialVersionUID
          设置为指示与以前的类版本序列化兼容的类指纹。
 
方法摘要
 StringgetAlgorithm()
          返回此密钥的标准算法名称。
 byte[]getEncoded()
          返回基本编码格式的密钥,如果此密钥不支持编码,则返回 null。
 StringgetFormat()
          返回此密钥的基本编码格式,如果此密钥不支持编码,则返回 null。
 

字段详细信息

serialVersionUID

static final long serialVersionUID
设置为指示与以前的类版本序列化兼容的类指纹。

另请参见:
常量字段值
方法详细信息

getAlgorithm

String getAlgorithm()
返回此密钥的标准算法名称。例如,"DSA" 指示此密钥是一个 DSA 密钥。有关标准算法名称的信息,请参见 Java Cryptography Architecture API Specification & Reference 中的附录 A。

返回:
与此密钥关联的算法名称。

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。

所有类