|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.security.KeyFactorySpi | +--iaik.security.rsa.RSAKeyFactory
This class converts RSA keys (opaque representation) in their KeySpecs (transparent representation) and vice versa.
To convert, for instance, DER encoded PKCS#8 private key material (e.g. pkcs8_key_spec
instantiated from PKCS8EncodedKeySpec
) into RSAPrivateKey representation, use this KeyFactory
for RSA keys:
KeyFactory rsa_key_fac = KeyFactory.getInstance("RSA"); RSAPrivateKey rsa_priv_key = (RSAPrivateKey)rsa_key_fac.generatePrivate(pkcs8_key_spec);
RSAPrivateKey
,
RSAPublicKey
Constructor Summary | |
RSAKeyFactory()
Default constructor for creating a RSAKeyFactory. |
Method Summary | |
protected PrivateKey |
engineGeneratePrivate(KeySpec keySpec)
Converts the given key specification to a PrivateKey. |
protected PublicKey |
engineGeneratePublic(KeySpec keySpec)
Converts the given key specification to a PublicKey. |
protected KeySpec |
engineGetKeySpec(Key key,
Class classSpec)
Converts the given key into the requested key specification (key material). |
protected Key |
engineTranslateKey(Key key)
Translates the given key object of some unknown or untrusted provider into a key object supported by this RSA key factory. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RSAKeyFactory()
for instantiating a RSAKeyFactory.KeyFactory.getInstance("RSA");
Method Detail |
protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException
The given key material may either be a RSAPrivateKeySpec or RSAPrivateKeyCrtSpec, or a PKCS8EncodedKeySpec.
engineGeneratePrivate
in class KeyFactorySpi
keySpec
- the key specification as RSAPrivateKeySpec, RSAPrivateKeyCrtSpec
or PKCS8EncodedKeySpecInvalidKeySpecException
- if the given key material is not
a RSAPrivateKeySpec, RSAPrivateKeyCrtSpec or
PKCS8EncodedKeySpecprotected PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException
The given key material may either be a RSAPublicKeySpec or a X509EncodedKeySpec.
engineGeneratePublic
in class KeyFactorySpi
keySpec
- the key specification as RSAPublicKeySpec or X509EncodedKeySpecInvalidKeySpecException
- if the given key material is not
a RSAPublicKeySpec or X509EncodedKeySpecprotected KeySpec engineGetKeySpec(Key key, Class classSpec) throws InvalidKeySpecException
The given key may either be a RSAPublicKey or a RSAPrivateKey. If the key is a
RSAPublicKey, this method only can create a RSAPublicKeySpec or a X509EncodedKeySpec
from it. If the given key is a RSAPrivateKey, a RSAPrivateKeySpec, RSAPrivateCrtKeySpec,
or a PKCS8EncodedKeySpec may be returned, depending on which of these types of
specifications is requested by classSpec
. Each attempt to get key
material of a type not matching to a given RSA key will raise an exception.
engineGetKeySpec
in class KeyFactorySpi
key
- the key to be converted, which either may be a RSAPublicKey or a RSAPrivateKey.keySpec
- the key specification type into which the key shall be converted, which may be
a RSAPublicKeySpec or a X509EncodedKeySpec if the given key is a RSAPublicKey, or
a RSAPrivateKey(Crt)Spec or a PKCS8EncodedKeySpec if the given key is a
RSAPrivateKeyInvalidKeySpecException
- if the given key cannot be converted into the
requested key specification object by this key factoryprotected Key engineTranslateKey(Key key) throws InvalidKeyException
RSAPublicKey
or
RSAPrivateKey
.engineTranslateKey
in class KeyFactorySpi
key
- the key of some unknown or untrusted providerInvalidKeyException
- if the given key cannot be translated by this key factory
|
This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |