Interface KemAlgorithmIdentifierFinder

All Superinterfaces:
AlgorithmIdentifierFinder
All Known Implementing Classes:
DefaultKemAlgorithmIdentifierFinder

public interface KemAlgorithmIdentifierFinder extends AlgorithmIdentifierFinder
Finder for the AlgorithmIdentifier naming a key encapsulation mechanism, as it appears in a SubjectPublicKeyInfo, a CMS KEMRecipientInfo (RFC 9629) or a CMP KemCiphertextInfo.

This is the KEM counterpart of SignatureAlgorithmIdentifierFinder. The reverse direction - naming an OID that arrived from a peer - is DefaultAlgorithmNameFinder.

  • Method Summary

    Modifier and Type
    Method
    Description
    org.bouncycastle.asn1.x509.AlgorithmIdentifier
    find(String kemAlgName)
    Find the KEM algorithm identifier that matches with the passed in KEM algorithm name.
    boolean
    hasAlgorithm(String kemAlgName)
    Return true if a KEM algorithm of the passed in name is recognised, false otherwise.
  • Method Details

    • hasAlgorithm

      boolean hasAlgorithm(String kemAlgName)
      Return true if a KEM algorithm of the passed in name is recognised, false otherwise. Where this returns true find(String) returns an identifier; where it returns false find throws, so this is the way to test for support without catching.
      Parameters:
      kemAlgName - the name of the KEM algorithm of interest.
      Returns:
      true if the name is recognised, false otherwise.
    • find

      org.bouncycastle.asn1.x509.AlgorithmIdentifier find(String kemAlgName)
      Find the KEM algorithm identifier that matches with the passed in KEM algorithm name.
      Specified by:
      find in interface AlgorithmIdentifierFinder
      Parameters:
      kemAlgName - the name of the KEM algorithm of interest.
      Returns:
      an algorithm identifier for the corresponding KEM.
      Throws:
      IllegalArgumentException - if the name is not recognised.