- 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
-
-
构造方法摘要
构造方法 构造器 描述 KeyFactorySpi()
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 protected abstract PrivateKey
engineGeneratePrivate(KeySpec keySpec)
从提供的密钥规范(密钥材料)生成私钥对象。protected abstract PublicKey
engineGeneratePublic(KeySpec keySpec)
从提供的密钥规范(密钥材料)生成公钥对象。protected abstract <T extends KeySpec>
TengineGetKeySpec(Key key, 类<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, 类<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.
-
-