- java.lang.Object
-
- java.security.KeyFactorySpi
-
public abstract class KeyFactorySpi extends Object
该类定义了KeyFactory
类的 ( SPI )。 该类中的所有抽象方法必须由希望提供特定算法的关键工厂的实现的每个加密服务提供商来实现。主要工厂用于将键 (
Key
型的不透明加密密钥)转换为关键规范 (基础密钥材料的透明表示),反之亦然。主要工厂是双向的。 也就是说,它们允许您从给定的密钥规范(密钥材料)构建一个不透明的密钥对象,或以合适的格式检索密钥对象的基础密钥材料。
同一个密钥可能存在多个兼容的密钥规范。 例如,可以使用
DSAPublicKeySpec
或X509EncodedKeySpec
指定DSA公钥。 一个关键的工厂可用于在兼容的密钥规范之间进行转换。供应商应记录其关键工厂支持的所有关键规格。
- 从以下版本开始:
- 1.2
- 另请参见:
-
KeyFactory
,Key
,PublicKey
,PrivateKey
,KeySpec
,DSAPublicKeySpec
,X509EncodedKeySpec
-
-
构造方法摘要
构造方法 Constructor 描述 KeyFactorySpi()
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 protected abstract PrivateKey
engineGeneratePrivate(KeySpec keySpec)
从提供的密钥规范(密钥材料)生成私钥对象。protected abstract PublicKey
engineGeneratePublic(KeySpec keySpec)
从提供的密钥规范(密钥材料)生成公钥对象。protected abstract <T extends KeySpec>
TengineGetKeySpec(Key key, Class<T> keySpec)
返回给定键对象的规范(关键材料)。protected abstract Key
engineTranslateKey(Key key)
将其提供者可能未知或潜在不受信任的关键对象转换为该关键工厂的相应关键对象。
-
-
-
方法详细信息
-
engineGeneratePublic
protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException
从提供的密钥规范(密钥材料)生成公钥对象。- 参数
-
keySpec
- 公钥的规范(密钥材料)。 - 结果
- 公钥。
- 异常
-
InvalidKeySpecException
- 如果给定的密钥规范不适合该密钥工厂生成公钥。
-
engineGeneratePrivate
protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException
从提供的密钥规范(密钥材料)生成私钥对象。- 参数
-
keySpec
-keySpec
的规范(密钥材料)。 - 结果
- 私钥。
- 异常
-
InvalidKeySpecException
- 如果给定的密钥规范不适合该密钥工厂生成私钥。
-
engineGetKeySpec
protected abstract <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException
返回给定键对象的规范(关键材料)。keySpec
标识应该返回密钥材料的规范类。 例如,它可以是DSAPublicKeySpec.class
,以表明应该在DSAPublicKeySpec
类的实例中返回密钥材料。- 参数类型
-
T
- 要返回的密钥规范的类型 - 参数
-
key
- 关键。 -
keySpec
- 应该返回密钥材料的规范类。 - 结果
- 在所请求的规范类的实例中的基础密钥规范(密钥材料)。
- 异常
-
InvalidKeySpecException
- 如果请求的密钥规范不适用于给定的密钥,或给定的密钥不能被处理(例如,给定的密钥具有无法识别的格式)。
-
engineTranslateKey
protected abstract Key engineTranslateKey(Key key) throws InvalidKeyException
将其提供者可能未知或潜在不受信任的关键对象转换为该关键工厂的相应关键对象。- 参数
-
key
- 提供者未知或不信任的密钥。 - 结果
- 翻译密钥。
- 异常
-
InvalidKeyException
- if the given key cannot be processed by this key factory.
-
-