public abstract class KeyFactorySpi extends Object
KeyFactory
类。在这个类中的所有的抽象方法必须实现由每个加密服务提供商,谁希望提供一个特定的算法的一个关键工厂的实施。
关键的工厂是用来将钥匙(不透明的密钥类型Key
)为主要规格(基础关键材料的透明表示),反之亦然。
关键工厂是双向的。也就是说,他们允许你从一个给定的关键规范(关键材料)建立一个不透明的关键对象,或检索一个合适的格式的一个关键对象的基本关键材料。
多个兼容的密钥规范可能存在于同一个密钥中。例如,一个用公开密钥可以使用DSAPublicKeySpec
或X509EncodedKeySpec
指定。关键的工厂可以把关键指标之间的兼容。
供应商应记录其关键工厂所支持的所有关键技术指标。
KeyFactory
,
Key
,
PublicKey
,
PrivateKey
,
KeySpec
,
DSAPublicKeySpec
,
X509EncodedKeySpec
Constructor and Description |
---|
KeyFactorySpi() |
Modifier and Type | Method and Description |
---|---|
protected abstract PrivateKey |
engineGeneratePrivate(KeySpec keySpec)
从所提供的关键规范(关键材料)生成一个私有密钥对象。
|
protected abstract PublicKey |
engineGeneratePublic(KeySpec keySpec)
从所提供的关键规范(关键材料)生成公共密钥对象。
|
protected abstract <T extends KeySpec> |
engineGetKeySpec(Key key, 类<T> keySpec)
返回给定键对象的规范(关键材料)。
|
protected abstract Key |
engineTranslateKey(Key key)
翻译的重点对象,其供应商可能是未知的或潜在的不受信任的,在相应的关键对象这一关键厂。
|
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, 类<T> keySpec) throws InvalidKeySpecException
keySpec
识别其关键材料应返回的规范类。它可以,例如,被
DSAPublicKeySpec.class
,表明主要材料应在
DSAPublicKeySpec
类的实例返回。
T
-要返回的关键规范的类型
key
的关键。
keySpec
的规范类中的主要材料应返回。
InvalidKeySpecException
如果请求的主要指标是不适合给定的键,或给定的键无法处理(例如,给定的键具有无法识别的格式)。
protected abstract Key engineTranslateKey(Key key) throws InvalidKeyException
key
-关键的供应商是未知或不可信。
InvalidKeyException
如果给定键不能用这个关键的工厂加工。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.