Class DefaultKemAlgorithmIdentifierFinder
- All Implemented Interfaces:
AlgorithmIdentifierFinder, KemAlgorithmIdentifierFinder
KemAlgorithmIdentifierFinder, returning the
AlgorithmIdentifier used to name a key encapsulation mechanism.
None of the KEMs named here take algorithm parameters - each parameter set has
its own OID - so every identifier this returns has an absent
parameters field, matching what the provider emits in a
SubjectPublicKeyInfo for these algorithms. On the receiving side compare with
AlgorithmIdentifier.areEquivalent(AlgorithmIdentifier, AlgorithmIdentifier)
rather than equals, so that a peer spelling the same algorithm with an
explicit NULL still matches.
Names are matched without regard to case and are the canonical ones the
matching lightweight parameter class uses - MLKEMParameters.getName(),
FrodoKEMParameters.getName(), CMCEParameters.getName() - which
are also the names the BouncyCastle provider registers the algorithms under.
Coverage is restricted to the standardised assignments: BouncyCastle's own
pre-standard arcs for FrodoKEM and Classic McEliece are deliberately absent,
as those parameters are to be phased out.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.bouncycastle.asn1.x509.AlgorithmIdentifierFind the KEM algorithm identifier that matches with the passed in KEM algorithm name.booleanhasAlgorithm(String kemAlgName) Return true if a KEM algorithm of the passed in name is recognised, false otherwise.
-
Constructor Details
-
DefaultKemAlgorithmIdentifierFinder
public DefaultKemAlgorithmIdentifierFinder()
-
-
Method Details
-
hasAlgorithm
Description copied from interface:KemAlgorithmIdentifierFinderReturn true if a KEM algorithm of the passed in name is recognised, false otherwise. Where this returns trueKemAlgorithmIdentifierFinder.find(String)returns an identifier; where it returns falsefindthrows, so this is the way to test for support without catching.- Specified by:
hasAlgorithmin interfaceKemAlgorithmIdentifierFinder- Parameters:
kemAlgName- the name of the KEM algorithm of interest.- Returns:
- true if the name is recognised, false otherwise.
-
find
Description copied from interface:KemAlgorithmIdentifierFinderFind the KEM algorithm identifier that matches with the passed in KEM algorithm name.- Specified by:
findin interfaceAlgorithmIdentifierFinder- Specified by:
findin interfaceKemAlgorithmIdentifierFinder- Parameters:
kemAlgName- the name of the KEM algorithm of interest.- Returns:
- an algorithm identifier for the corresponding KEM.
-