java.lang.Object
javax.crypto.SecretKeyFactorySpi
这个类为
SecretKeyFactory类定义了服务提供者接口(SPI)。该类中的所有抽象方法必须由每个希望为特定算法提供秘钥工厂实现的加密服务提供者来实现。
提供者应该记录其秘钥工厂支持的所有秘钥规范。例如,“SunJCE”提供的DES秘钥工厂支持DESKeySpec作为DES秘钥的透明表示,该提供者的Triple DES秘钥工厂支持DESedeKeySpec作为Triple DES秘钥的透明表示。
- 自从:
- 1.4
- 参见:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract SecretKeyengineGenerateSecret(KeySpec keySpec) 从提供的秘钥规范(秘钥材料)生成一个SecretKey对象。protected abstract KeySpecengineGetKeySpec(SecretKey key, Class<?> keySpec) 以请求的格式返回给定秘钥对象的规范(秘钥材料)。protected abstract SecretKey将一个秘钥对象(其提供者可能未知或潜在不受信任)转换为该秘钥工厂的相应秘钥对象。
-
Constructor Details
-
SecretKeyFactorySpi
public SecretKeyFactorySpi()子类调用的构造函数。
-
-
Method Details
-
engineGenerateSecret
从提供的秘钥规范(秘钥材料)生成一个SecretKey对象。- 参数:
-
keySpec- 秘密秘钥的规范(秘钥材料) - 返回:
- 秘密秘钥
- 抛出:
-
InvalidKeySpecException- 如果给定的秘钥规范不适合该秘钥工厂生成秘密秘钥。
-
engineGetKeySpec
protected abstract KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException 以请求的格式返回给定秘钥对象的规范(秘钥材料)。- 参数:
-
key- 秘钥 -
keySpec- 要返回秘钥材料的请求格式 - 返回:
- 请求格式中的底层秘钥规范(秘钥材料)
- 抛出:
-
InvalidKeySpecException- 如果请求的秘钥规范不适合给定的秘钥(例如,与key和keySpec关联的算法不匹配,或者key引用加密硬件设备上的秘钥,而keySpec是软件秘钥的规范,或者给定的秘钥无法处理(例如,给定的秘钥具有不受此秘钥工厂支持的算法或格式)。
-
engineTranslateKey
将一个秘钥对象(其提供者可能未知或潜在不受信任)转换为该秘钥工厂的相应秘钥对象。- 参数:
-
key- 其提供者未知或不受信任的秘钥 - 返回:
- 转换后的秘钥
- 抛出:
-
InvalidKeyException- 如果给定的秘钥无法被该秘钥工厂处理。
-