Module  java.base
软件包  javax.crypto

Class SecretKeyFactorySpi



  • public abstract class SecretKeyFactorySpi
    extends Object
    该类定义了SecretKeyFactory类的 ( SPI )。 该类中的所有抽象方法必须由希望为特定算法提供秘密密钥工厂的实现的每个加密服务提供商实现。

    提供商应记录其密钥工厂支持的所有关键规范。 例如,由“SunJCE”提供商提供的DES秘密密钥工厂支持DESKeySpec作为DES密钥的透明表示,该提供商的三重DES密钥密钥工厂支持DESedeKeySpec作为三重DES密钥的透明表示。

    从以下版本开始:
    1.4
    另请参见:
    SecretKeyDESKeySpecDESedeKeySpec
    • 构造方法详细信息

      • 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 - if the given key cannot be processed by this secret-key factory.