- java.lang.Object
-
- javax.crypto.SecretKeyFactorySpi
-
public abstract class SecretKeyFactorySpiextends Object
此类定义SecretKeyFactory
类的 ( SPI )。 此类中的所有抽象方法必须由希望为特定算法提供密钥工厂实现的每个加密服务提供者实现。提供商应记录其密钥工厂支持的所有关键规范。 例如,由“SunJCE”提供商提供的DES密钥工厂支持
DESKeySpec
作为DES密钥的透明表示,并且该提供商的Triple DES密钥的密钥工厂支持DESedeKeySpec
作为Triple DES密钥的透明表示。- 从以下版本开始:
- 1.4
- 另请参见:
-
SecretKey
,DESKeySpec
,DESedeKeySpec
-
-
构造方法摘要
构造方法 构造器 描述 SecretKeyFactorySpi()
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 protected abstract SecretKey
engineGenerateSecret(KeySpec keySpec)
从提供的密钥规范(密钥材料)生成SecretKey
对象。protected abstract KeySpec
engineGetKeySpec(SecretKey key, 类<?> keySpec)
以请求的格式返回给定密钥对象的规范(密钥材料)。protected abstract SecretKey
engineTranslateKey(SecretKey key)
将提供者可能未知或可能不受信任的密钥对象转换为此密钥工厂的相应密钥对象。
-
-
-
方法详细信息
-
engineGenerateSecret
protected abstract SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException
从提供的密钥规范(密钥材料)生成SecretKey
对象。- 参数
-
keySpec
- 密钥的规范(密钥材料) - 结果
- 秘密密钥
- 异常
-
InvalidKeySpecException
- 如果给定的密钥规范不适合此密钥工厂生成密钥。
-
engineGetKeySpec
protected abstract KeySpec engineGetKeySpec(SecretKey key, 类<?> keySpec) throws InvalidKeySpecException
以请求的格式返回给定密钥对象的规范(密钥材料)。- 参数
-
key
- 关键 -
keySpec
- 要求返回密钥材料的格式 - 结果
- 请求格式的基础密钥规范(密钥材料)
- 异常
-
InvalidKeySpecException
- 如果请求的密钥规范不适合给定密钥(例如,与key
和keySpec
相关联的算法不匹配,或者key
引用加密硬件设备上的密钥,而keySpec
是基于软件的密钥的规范),或者不能处理给定的密钥(例如,给定密钥具有该秘密密钥工厂不支持的算法或格式)。
-
engineTranslateKey
protected abstract SecretKey engineTranslateKey(SecretKey key) throws InvalidKeyException
将提供者可能未知或可能不受信任的密钥对象转换为此密钥工厂的相应密钥对象。- 参数
-
key
- 提供者未知或不可信的密钥 - 结果
- 翻译的密钥
- 异常
-
InvalidKeyException
- if the given key cannot be processed by this secret-key factory.
-
-