javax.crypto

接口
异常
java.lang.Object
  继承者 javax.crypto.SecretKeyFactorySpi

public abstract class SecretKeyFactorySpi
     
extends 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, Class keySpec)
          以所需格式返回给定密钥对象的规范(密钥材料)。
protected abstract  SecretKey engineTranslateKey(SecretKey key)
          将一个密钥对象(其提供者未知或可能不受信任)转换为此密钥工厂的相应密钥对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SecretKeyFactorySpi

public SecretKeyFactorySpi()
方法详细信息

engineGenerateSecret

protected abstract SecretKey engineGenerateSecret(KeySpec keySpec)
                                           throws InvalidKeySpecException
根据提供的密钥规范(密钥材料)生成 SecretKey 对象。

参数:
keySpec - 秘密密钥的规范(密钥材料)
返回:
秘密密钥
抛出:
InvalidKeySpecException - 如果给定密钥规范不适合生成秘密密钥的秘密密钥工厂。

engineGetKeySpec

protected abstract KeySpec engineGetKeySpec(SecretKey key,
                                            Class keySpec)
                                     throws InvalidKeySpecException
以所需格式返回给定密钥对象的规范(密钥材料)。

参数:
key - 密钥
keySpec - 返回密钥材料的所需格式
返回:
以所需格式返回底层密钥规范(密钥材料)
抛出:
InvalidKeySpecException - 如果所需密钥规范不适合给定的密钥(例如,与 keykeySpec 相关的算法不匹配,或者 key 在加密硬件设备上引用一个密钥而 keySpec 是基于软件的密钥规范),或者无法处理给定的密钥(例如,给定的密钥具有此秘密密钥工厂不支持的算法或格式)。

engineTranslateKey

protected abstract SecretKey engineTranslateKey(SecretKey key)
                                         throws InvalidKeyException
将一个密钥对象(其提供者未知或可能不受信任)转换为此密钥工厂的相应密钥对象。

参数:
key - 其提供者未知或不受信任的密钥
返回:
已转换的密钥
抛出:
InvalidKeyException - 如果此秘密密钥工厂无法处理给定的密钥。