org.bouncycastle.pqc.jcajce.provider.mceliece
Class McElieceCCA2KeyFactorySpi
java.lang.Object
|
+--java.security.KeyFactorySpi
|
+--org.bouncycastle.pqc.jcajce.provider.mceliece.McElieceCCA2KeyFactorySpi
- All Implemented Interfaces:
- AsymmetricKeyInfoConverter
- public class McElieceCCA2KeyFactorySpi
- extends java.security.KeyFactorySpi
- implements AsymmetricKeyInfoConverter
This class is used to translate between McEliece CCA2 keys and key
specifications.
- See Also:
BCMcElieceCCA2PrivateKey
,
BCMcElieceCCA2PublicKey
Field Summary |
static java.lang.String |
OID
The OID of the algorithm. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OID
public static final java.lang.String OID
- The OID of the algorithm.
McElieceCCA2KeyFactorySpi
public McElieceCCA2KeyFactorySpi()
engineGeneratePublic
protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec keySpec)
throws java.security.spec.InvalidKeySpecException
- Converts, if possible, a key specification into a
BCMcElieceCCA2PublicKey
. Currently, the following key
specifications are supported:
X509EncodedKeySpec
.
- Overrides:
engineGeneratePublic
in class java.security.KeyFactorySpi
- Parameters:
keySpec
- the key specification- Returns:
- the McEliece CCA2 public key
- Throws:
java.security.spec.InvalidKeySpecException
- if the key specification is not supported.
engineGeneratePrivate
protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec keySpec)
throws java.security.spec.InvalidKeySpecException
- Converts, if possible, a key specification into a
BCMcElieceCCA2PrivateKey
. Currently, the following key
specifications are supported:
PKCS8EncodedKeySpec
.
- Overrides:
engineGeneratePrivate
in class java.security.KeyFactorySpi
- Parameters:
keySpec
- the key specification- Returns:
- the McEliece CCA2 private key
- Throws:
java.security.spec.InvalidKeySpecException
- if the KeySpec is not supported.
getKeySpec
public java.security.spec.KeySpec getKeySpec(java.security.Key key,
java.lang.Class keySpec)
throws java.security.spec.InvalidKeySpecException
- Converts, if possible, a given key into a key specification. Currently,
the following key specifications are supported:
- Parameters:
key
- the keykeySpec
- the key specification- Returns:
- the specification of the McEliece CCA2 key
- Throws:
java.security.spec.InvalidKeySpecException
- if the key type or the key specification is not
supported.- See Also:
BCMcElieceCCA2PrivateKey
,
BCMcElieceCCA2PublicKey
translateKey
public java.security.Key translateKey(java.security.Key key)
throws java.security.InvalidKeyException
- Translates a key into a form known by the FlexiProvider. Currently, only
the following "source" keys are supported:
BCMcElieceCCA2PrivateKey
,
BCMcElieceCCA2PublicKey
.
- Parameters:
key
- the key- Returns:
- a key of a known key type
- Throws:
java.security.InvalidKeyException
- if the key type is not supported.
generatePublic
public java.security.PublicKey generatePublic(SubjectPublicKeyInfo pki)
throws java.io.IOException
- Specified by:
generatePublic
in interface AsymmetricKeyInfoConverter
generatePrivate
public java.security.PrivateKey generatePrivate(PrivateKeyInfo pki)
throws java.io.IOException
- Specified by:
generatePrivate
in interface AsymmetricKeyInfoConverter
engineGetKeySpec
protected java.security.spec.KeySpec engineGetKeySpec(java.security.Key key,
java.lang.Class tClass)
throws java.security.spec.InvalidKeySpecException
- Overrides:
engineGetKeySpec
in class java.security.KeyFactorySpi
engineTranslateKey
protected java.security.Key engineTranslateKey(java.security.Key key)
throws java.security.InvalidKeyException
- Overrides:
engineTranslateKey
in class java.security.KeyFactorySpi