Class OidCatalogue


  • public final class OidCatalogue
    extends java.lang.Object
    Catalogue of content-encryption algorithm OIDs used where code only needs to identify the parameter form or block size family for an algorithm.

    The methods in this class are membership tests only. They do not provide key sizes, JCA names, or provider registration aliases.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean isAEAD​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies an AEAD content-encryption algorithm whose parameters are encoded as GCMParameters or CCMParameters (i.e. a GCM or CCM algorithm).
      static boolean isAuthEnveloped​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies a content-encryption algorithm that provides authenticated encryption and so can be used with CMS AuthEnvelopedData (RFC 5083): the GCM and CCM families plus ChaCha20-Poly1305.
      static boolean isCBC128​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies a CBC content-encryption algorithm with a 128-bit block size and an IV encoded as an octet string.
      static boolean isCBC64​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies a CBC content-encryption algorithm with a 64-bit block size (DES, triple-DES, RC2, CAST5, IDEA).
      static boolean isCCM​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies a CCM content-encryption algorithm whose parameters are encoded as CCMParameters.
      static boolean isChaCha20Poly1305​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies the ChaCha20-Poly1305 AEAD content-encryption algorithm.
      static boolean isGCM​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
      Return whether the OID identifies a GCM content-encryption algorithm whose parameters are encoded as GCMParameters.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • isCCM

        public static boolean isCCM​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies a CCM content-encryption algorithm whose parameters are encoded as CCMParameters.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known CCM content-encryption algorithm.
      • isGCM

        public static boolean isGCM​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies a GCM content-encryption algorithm whose parameters are encoded as GCMParameters.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known GCM content-encryption algorithm.
      • isCBC128

        public static boolean isCBC128​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies a CBC content-encryption algorithm with a 128-bit block size and an IV encoded as an octet string.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known 128-bit block CBC content-encryption algorithm.
      • isCBC64

        public static boolean isCBC64​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies a CBC content-encryption algorithm with a 64-bit block size (DES, triple-DES, RC2, CAST5, IDEA).

        This is a block-size predicate only: unlike the GCM/CCM/CBC-128 families, the members do not share a single parameter encoding (RC2 carries RC2CBCParameter, CAST5 carries CAST5CBCParameters, the rest an octet-string IV), so this test is for code that classifies by block size (e.g. PKCS#7 padded output length) rather than by parameter form.

        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known 64-bit block CBC content-encryption algorithm.
      • isChaCha20Poly1305

        public static boolean isChaCha20Poly1305​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies the ChaCha20-Poly1305 AEAD content-encryption algorithm.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is ChaCha20-Poly1305.
      • isAEAD

        public static boolean isAEAD​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies an AEAD content-encryption algorithm whose parameters are encoded as GCMParameters or CCMParameters (i.e. a GCM or CCM algorithm). ChaCha20-Poly1305, whose parameters differ, is not included here; use isAuthEnveloped(ASN1ObjectIdentifier) for the full set of algorithms usable with CMS AuthEnvelopedData.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known GCM or CCM content-encryption algorithm.
      • isAuthEnveloped

        public static boolean isAuthEnveloped​(org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm)
        Return whether the OID identifies a content-encryption algorithm that provides authenticated encryption and so can be used with CMS AuthEnvelopedData (RFC 5083): the GCM and CCM families plus ChaCha20-Poly1305.
        Parameters:
        algorithm - candidate algorithm OID.
        Returns:
        true if the OID is a known AEAD content-encryption algorithm.