JavaTM Platform
Standard Ed. 6

接口 java.security.Key
的使用

使用 Key 的软件包
java.security 为安全框架提供类和接口。 
java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)密钥。 
javax.crypto 为加密操作提供类和接口。 
javax.crypto.interfaces 根据 RSA Laboratories' PKCS #3 的定义,提供 Diffie-Hellman 密钥接口。 
javax.crypto.spec 为密钥规范和算法参数规范提供类和接口。 
javax.security.auth.kerberos 此包包含与 Kerberos 网络验证协议相关的实用工具类。 
javax.xml.crypto 用于 XML 加密的通用类。 
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 
 

java.securityKey 的使用
 

java.securityKey 的子接口
 interface PrivateKey
          私钥。
 interface PublicKey
          公钥。
 

返回 Keyjava.security 中的方法
abstract  Key KeyStoreSpi.engineGetKey(String alias, char[] password)
          返回与给定别名关联的密钥,使用给定密码恢复它。
protected abstract  Key KeyFactorySpi.engineTranslateKey(Key key)
          将其 provider 可能是未知的或可能不受信任的密钥对象转换成此密钥工厂的相应密钥对象。
 Key KeyStore.getKey(String alias, char[] password)
          返回与给定别名关联的密钥,并用给定密码来恢复它。
 Key KeyFactory.translateKey(Key key)
          将提供者可能未知或不受信任的密钥对象转换成此密钥工厂对应的密钥对象。
 

参数类型为 Keyjava.security 中的方法
protected abstract
<T extends KeySpec>
T
KeyFactorySpi.engineGetKeySpec(Key key, Class<T> keySpec)
          返回给定密钥对象的规范(密钥材料)。
abstract  void KeyStoreSpi.engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
          将给定的密钥分配给给定的别名,用给定的密码保护它。
protected abstract  Key KeyFactorySpi.engineTranslateKey(Key key)
          将其 provider 可能是未知的或可能不受信任的密钥对象转换成此密钥工厂的相应密钥对象。
<T extends KeySpec>
T
KeyFactory.getKeySpec(Key key, Class<T> keySpec)
          返回给定密钥对象的规范(密钥材料)。
 void KeyStore.setKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
          将给定的密钥分配给给定的别名,并用给定密码保护它。
 Key KeyFactory.translateKey(Key key)
          将提供者可能未知或不受信任的密钥对象转换成此密钥工厂对应的密钥对象。
 

java.security.interfacesKey 的使用
 

java.security.interfacesKey 的子接口
 interface DSAPrivateKey
          DSA 专用密钥的标准接口。
 interface DSAPublicKey
          DSA 公用密钥的接口。
 interface ECPrivateKey
          椭圆曲线 (EC) 专用密钥的接口。
 interface ECPublicKey
          椭圆曲线 (EC) 公用密钥的接口。
 interface RSAMultiPrimePrivateCrtKey
          如 PKCS#1 v2.1 中所定义的,使用 Chinese Remainder Theorem (CRT) 信息值的 RSA 多素数专用密钥的接口。
 interface RSAPrivateCrtKey
          如 PKCS#1 标准中所定义的,使用 Chinese Remainder Theorem (CRT) 信息值的 RSA 专用密钥的接口。
 interface RSAPrivateKey
          RSA 专用密钥的接口。
 interface RSAPublicKey
          RSA 公用密钥的接口。
 

javax.cryptoKey 的使用
 

javax.cryptoKey 的子接口
 interface SecretKey
          秘密(对称)密钥。
 

返回 Keyjavax.crypto 中的方法
 Key KeyAgreement.doPhase(Key key, boolean lastPhase)
          用给定密钥执行此密钥协定的下一个阶段,给定密钥是从此密钥协定所涉及的其他某个参与者那里接收的。
protected abstract  Key KeyAgreementSpi.engineDoPhase(Key key, boolean lastPhase)
          用给定密钥执行此密钥协定的下一个阶段,该给定密钥是从此密钥协定中涉及的其他某个参与者那里接收的。
protected  Key CipherSpi.engineUnwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, int wrappedKeyType)
          打开一个以前包装的密钥。
 Key Cipher.unwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, int wrappedKeyType)
          解包一个以前包装的密钥。
 

参数类型为 Keyjavax.crypto 中的方法
 Key KeyAgreement.doPhase(Key key, boolean lastPhase)
          用给定密钥执行此密钥协定的下一个阶段,给定密钥是从此密钥协定所涉及的其他某个参与者那里接收的。
protected abstract  Key KeyAgreementSpi.engineDoPhase(Key key, boolean lastPhase)
          用给定密钥执行此密钥协定的下一个阶段,该给定密钥是从此密钥协定中涉及的其他某个参与者那里接收的。
protected  int CipherSpi.engineGetKeySize(Key key)
          返回给定密钥对象的密钥大小,以位为单位。
protected abstract  void CipherSpi.engineInit(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random)
          用一个密钥、一组算法参数和一个随机源初始化此 cipher。
protected abstract  void CipherSpi.engineInit(int opmode, Key key, AlgorithmParameters params, SecureRandom random)
          用一个密钥、一组算法参数和一个随机源初始化此 cipher。
protected abstract  void CipherSpi.engineInit(int opmode, Key key, SecureRandom random)
          用密钥和随机源初始化此 cipher。
protected abstract  void ExemptionMechanismSpi.engineInit(Key key)
          用密钥初始化此豁免机制。
protected abstract  void ExemptionMechanismSpi.engineInit(Key key, AlgorithmParameters params)
          用一个密钥和一组算法参数初始化此豁免机制。
protected abstract  void MacSpi.engineInit(Key key, AlgorithmParameterSpec params)
          用给定的(秘密)密钥和算法参数初始化 MAC。
protected abstract  void ExemptionMechanismSpi.engineInit(Key key, AlgorithmParameterSpec params)
          用一个密钥和一组算法参数初始化此豁免机制。
protected abstract  void KeyAgreementSpi.engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)
          用给定密钥、算法参数集和随机源初始化此密钥协定。
protected abstract  void KeyAgreementSpi.engineInit(Key key, SecureRandom random)
          用给定密钥和随机源初始化此密钥协定。
protected  byte[] CipherSpi.engineWrap(Key key)
          将密钥包装。
 PKCS8EncodedKeySpec EncryptedPrivateKeyInfo.getKeySpec(Key decryptKey)
          将密封的 PKCS8EncodedKeySpec 对象从加密的数据中抽取出来并将其返回。
 PKCS8EncodedKeySpec EncryptedPrivateKeyInfo.getKeySpec(Key decryptKey, Provider provider)
          将密封的 PKCS8EncodedKeySpec 对象从加密的数据中抽取出来并将其返回。
 PKCS8EncodedKeySpec EncryptedPrivateKeyInfo.getKeySpec(Key decryptKey, String providerName)
          将密封的 PKCS8EncodedKeySpec 对象从加密的数据中抽取出来并将其返回。
 Object SealedObject.getObject(Key key)
          获取原始(封装的)对象。
 Object SealedObject.getObject(Key key, String provider)
          获取原始(封装的)对象。
 void Cipher.init(int opmode, Key key)
          用密钥初始化此 Cipher。
 void Cipher.init(int opmode, Key key, AlgorithmParameters params)
          用密钥和一组算法参数初始化此 Cipher。
 void Cipher.init(int opmode, Key key, AlgorithmParameterSpec params)
          用密钥和一组算法参数初始化此 Cipher。
 void Cipher.init(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random)
          用一个密钥、一组算法参数和一个随机源初始化此 Cipher。
 void Cipher.init(int opmode, Key key, AlgorithmParameters params, SecureRandom random)
          用一个密钥、一组算法参数和一个随机源初始化此 Cipher。
 void Cipher.init(int opmode, Key key, SecureRandom random)
          用密钥和随机源初始化此 Cipher。
 void ExemptionMechanism.init(Key key)
          用密钥初始化此豁免机制。
 void KeyAgreement.init(Key key)
          用给定密钥初始化此密钥协定,给定密钥需要包含此密钥协定所需的所有算法参数。
 void Mac.init(Key key)
          用给定的密钥初始化此 Mac 对象。
 void ExemptionMechanism.init(Key key, AlgorithmParameters params)
          用一个密钥和一组算法参数初始化此豁免机制。
 void ExemptionMechanism.init(Key key, AlgorithmParameterSpec params)
          用一个密钥和一组算法参数初始化此豁免机制。
 void KeyAgreement.init(Key key, AlgorithmParameterSpec params)
          用给定密钥和算法参数集初始化此密钥协定。
 void Mac.init(Key key, AlgorithmParameterSpec params)
          用给定的密钥和算法参数初始化此 Mac 对象。
 void KeyAgreement.init(Key key, AlgorithmParameterSpec params, SecureRandom random)
          用给定密钥、算法参数集和随机源初始化此密钥协定。
 void KeyAgreement.init(Key key, SecureRandom random)
          用给定密钥和随机源初始化此密钥协议。
 boolean ExemptionMechanism.isCryptoAllowed(Key key)
          返回此豁免机制是否已成功生成结果 blob。
 byte[] Cipher.wrap(Key key)
          包装密钥。
 

javax.crypto.interfacesKey 的使用
 

javax.crypto.interfacesKey 的子接口
 interface DHPrivateKey
          Diffie-Hellman 私钥接口。
 interface DHPublicKey
          Diffie-Hellman 公钥接口。
 interface PBEKey
          调用者 PBE 密钥接口。
 

javax.crypto.specKey 的使用
 

实现 Keyjavax.crypto.spec 中的类
 class SecretKeySpec
          此类以与 provider 无关的方式指定一个密钥。
 

javax.security.auth.kerberosKey 的使用
 

实现 Keyjavax.security.auth.kerberos 中的类
 class KerberosKey
          此类为 Kerberos 主体封装一个长期秘密密钥。
 

javax.xml.cryptoKey 的使用
 

返回 Keyjavax.xml.crypto 中的方法
 Key KeySelectorResult.getKey()
          返回选定的密钥。
 

参数类型为 Keyjavax.xml.crypto 中的方法
static KeySelector KeySelector.singletonKeySelector(Key key)
          返回一个总是选择指定密钥的 KeySelector,不管传递给它的 KeyInfo 是什么。
 

javax.xml.crypto.dsig.domKey 的使用
 

参数类型为 Keyjavax.xml.crypto.dsig.dom 中的构造方法
DOMSignContext(Key signingKey, Node parent)
          创建带有指定签名密钥和父节点的 DOMSignContext
DOMSignContext(Key signingKey, Node parent, Node nextSibling)
          创建带有指定的签名密钥、父节点和下一个兄弟节点的 DOMSignContext
DOMValidateContext(Key validatingKey, Node node)
          创建包含指定密钥和节点的 DOMValidateContext
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策