java.lang.Object java.security.KeyFactorySpi
public abstract class KeyFactorySpi
此类为 KeyFactory
类定义服务提供者接口 (SPI)。希望提供特定算法的密钥工厂实现的每个加密服务提供者必须实现此类中所有的抽象方法。
密钥工厂用来把 keys(类型 Key
的不透明密钥)转换成密钥规范(底层密钥材料的透明表示形式),反之亦然。
密钥工厂是双向的。也就是说,它们允许根据一个给定的密钥规范(密钥材料)来建造一个不透明的密钥对象,或获取以合适格式表示的密钥对象的底层密钥材料。
对于同一个密钥可以存在多个兼容的密钥规范。例如,一个 DSA 公钥可以使用 DSAPublicKeySpec
或 X509EncodedKeySpec
指定。密钥工厂可以用来在兼容的密钥规范之间转换。
provider 应该记录其密钥工厂支持的所有密钥规范。
KeyFactory
,
Key
,
PublicKey
,
PrivateKey
,
KeySpec
,
DSAPublicKeySpec
,
X509EncodedKeySpec
构造方法摘要 | |
---|---|
KeyFactorySpi() |
方法摘要 | ||
---|---|---|
protected abstract PrivateKey |
engineGeneratePrivate(KeySpec keySpec) 根据所提供的密钥规范(密钥材料)生成私钥对象。 |
|
protected abstract PublicKey |
engineGeneratePublic(KeySpec keySpec) 根据所提供的密钥规范(密钥材料)生成公钥对象。 |
|
protected abstract
|
engineGetKeySpec(Key key, Class<T> keySpec) 返回给定密钥对象的规范(密钥材料)。 |
|
protected abstract Key |
engineTranslateKey(Key key) 将其 provider 可能是未知的或可能不受信任的密钥对象转换成此密钥工厂的相应密钥对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public KeyFactorySpi()
方法详细信息 |
---|
protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 公钥的规范(密钥材料)。
InvalidKeySpecException
- 如果给定的密钥规范不适合此密钥工厂来生成公钥。
protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 私钥的规范(密钥材料)。
InvalidKeySpecException
- 如果给定的密钥规范不适合此密钥工厂来生成私钥。
protected abstract <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException
keySpec
标识应该将密钥材料返回到其中的规范类。例如,它可能是
DSAPublicKeySpec.class
,指示密钥材料应该返回到
DSAPublicKeySpec
类的一个实例中。
key
- 密钥。
keySpec
- 应该将密钥材料返回到其中的规范类。
InvalidKeySpecException
- 如果请求的密钥规范不适合给定的密钥,或给定的密钥不能被处理(例如,给定的密钥具有不能识别的格式)。
protected abstract Key engineTranslateKey(Key key) throws InvalidKeyException
key
- 其 provider 是未知的或不受信任的密钥对象。
InvalidKeyException
- 如果给定密钥不能被此密钥工厂处理。