Package org.conscrypt
Class OpenSslMlKemKeyFactory
- java.lang.Object
-
- java.security.KeyFactorySpi
-
- org.conscrypt.OpenSslMlKemKeyFactory
-
- Direct Known Subclasses:
OpenSslMlKemKeyFactory.MlKem,OpenSslMlKemKeyFactory.MlKem1024,OpenSslMlKemKeyFactory.MlKem768
@Internal public abstract class OpenSslMlKemKeyFactory extends java.security.KeyFactorySpi
An implementation of aKeyFactorySpifor ML-KEM keys based on BoringSSL.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOpenSslMlKemKeyFactory.MlKemML-KEMstatic classOpenSslMlKemKeyFactory.MlKem1024ML-KEM-1024static classOpenSslMlKemKeyFactory.MlKem768ML-KEM-768
-
Field Summary
Fields Modifier and Type Field Description private MlKemAlgorithmdefaultAlgorithm(package private) static byte[]pkcs8PreambleMlKem1024(package private) static byte[]pkcs8PreambleMlKem768(package private) static byte[]x509PreambleMlKem1024(package private) static byte[]x509PreambleMlKem768
-
Constructor Summary
Constructors Modifier Constructor Description privateOpenSslMlKemKeyFactory(MlKemAlgorithm defaultAlgorithm)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.security.PrivateKeyengineGeneratePrivate(java.security.spec.KeySpec keySpec)protected java.security.PublicKeyengineGeneratePublic(java.security.spec.KeySpec keySpec)protected <T extends java.security.spec.KeySpec>
TengineGetKeySpec(java.security.Key key, java.lang.Class<T> keySpec)protected java.security.KeyengineTranslateKey(java.security.Key key)private OpenSslMlKemPrivateKeymakePrivateKeyFromSeed(byte[] seed, MlKemAlgorithm algorithm)private OpenSslMlKemPublicKeymakePublicKeyFromRaw(byte[] raw, MlKemAlgorithm algorithm)(package private) abstract booleansupportsAlgorithm(MlKemAlgorithm algorithm)
-
-
-
Field Detail
-
x509PreambleMlKem768
static final byte[] x509PreambleMlKem768
-
x509PreambleMlKem1024
static final byte[] x509PreambleMlKem1024
-
pkcs8PreambleMlKem768
static final byte[] pkcs8PreambleMlKem768
-
pkcs8PreambleMlKem1024
static final byte[] pkcs8PreambleMlKem1024
-
defaultAlgorithm
private final MlKemAlgorithm defaultAlgorithm
-
-
Constructor Detail
-
OpenSslMlKemKeyFactory
private OpenSslMlKemKeyFactory(MlKemAlgorithm defaultAlgorithm)
-
-
Method Detail
-
supportsAlgorithm
abstract boolean supportsAlgorithm(MlKemAlgorithm algorithm)
-
makePublicKeyFromRaw
private OpenSslMlKemPublicKey makePublicKeyFromRaw(byte[] raw, MlKemAlgorithm algorithm) throws java.security.spec.InvalidKeySpecException
- Throws:
java.security.spec.InvalidKeySpecException
-
engineGeneratePublic
protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec keySpec) throws java.security.spec.InvalidKeySpecException- Specified by:
engineGeneratePublicin classjava.security.KeyFactorySpi- Throws:
java.security.spec.InvalidKeySpecException
-
makePrivateKeyFromSeed
private OpenSslMlKemPrivateKey makePrivateKeyFromSeed(byte[] seed, MlKemAlgorithm algorithm) throws java.security.spec.InvalidKeySpecException
- Throws:
java.security.spec.InvalidKeySpecException
-
engineGeneratePrivate
protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec keySpec) throws java.security.spec.InvalidKeySpecException- Specified by:
engineGeneratePrivatein classjava.security.KeyFactorySpi- Throws:
java.security.spec.InvalidKeySpecException
-
engineGetKeySpec
protected <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key key, java.lang.Class<T> keySpec) throws java.security.spec.InvalidKeySpecException- Specified by:
engineGetKeySpecin classjava.security.KeyFactorySpi- Throws:
java.security.spec.InvalidKeySpecException
-
engineTranslateKey
protected java.security.Key engineTranslateKey(java.security.Key key) throws java.security.InvalidKeyException- Specified by:
engineTranslateKeyin classjava.security.KeyFactorySpi- Throws:
java.security.InvalidKeyException
-
-