java.lang.Object javax.crypto.SecretKeyFactorySpi
public abstract class SecretKeyFactorySpi
此类定义 SecretKeyFactory
类的服务提供者接口 (SPI)。此类中的所有抽象方法必须由希望为特定算法提供秘密密钥工厂实现的各个加密服务提供者来实现。
提供者应当对其秘密密钥工厂支持的所有密钥规范加以注释。例如,"SunJCE" 提供者提供的 DES 秘密密钥工厂支持 DESKeySpec
作为 DES 密钥的透明表示形式,并且该提供者的 Triple DES 密钥的秘密密钥工厂支持 DESedeKeySpec
作为 Triple DES 密钥的透明表示形式。
SecretKey
,
DESKeySpec
,
DESedeKeySpec
构造方法摘要 | |
---|---|
SecretKeyFactorySpi() |
方法摘要 | |
---|---|
protected abstract SecretKey |
engineGenerateSecret(KeySpec keySpec) 根据提供的密钥规范(密钥材料)生成 SecretKey 对象。 |
protected abstract KeySpec |
engineGetKeySpec(SecretKey key, Class keySpec) 以所需格式返回给定密钥对象的规范(密钥材料)。 |
protected abstract SecretKey |
engineTranslateKey(SecretKey key) 将一个密钥对象(其提供者未知或可能不受信任)转换为此密钥工厂的相应密钥对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public SecretKeyFactorySpi()
方法详细信息 |
---|
protected abstract SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException
SecretKey
对象。
keySpec
- 秘密密钥的规范(密钥材料)
InvalidKeySpecException
- 如果给定密钥规范不适合生成秘密密钥的秘密密钥工厂。
protected abstract KeySpec engineGetKeySpec(SecretKey key, Class keySpec) throws InvalidKeySpecException
key
- 密钥
keySpec
- 返回密钥材料的所需格式
InvalidKeySpecException
- 如果所需密钥规范不适合给定的密钥(例如,与
key
和
keySpec
相关的算法不匹配,或者
key
在加密硬件设备上引用一个密钥而
keySpec
是基于软件的密钥规范),或者无法处理给定的密钥(例如,给定的密钥具有此秘密密钥工厂不支持的算法或格式)。
protected abstract SecretKey engineTranslateKey(SecretKey key) throws InvalidKeyException
key
- 其提供者未知或不受信任的密钥
InvalidKeyException
- 如果此秘密密钥工厂无法处理给定的密钥。