模块  java.base
软件包  javax.crypto

Class SecretKeyFactorySpi


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

    提供商应记录其密钥工厂支持的所有关键规范。 例如,由“SunJCE”提供商提供的DES密钥工厂支持DESKeySpec作为DES密钥的透明表示,并且该提供商的Triple DES密钥的密钥工厂支持DESedeKeySpec作为Triple 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,
                                                    <?> 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.