Class GcmSpecUtil

java.lang.Object
org.bouncycastle.jcajce.provider.symmetric.util.GcmSpecUtil

public class GcmSpecUtil extends Object
  • Constructor Details

    • GcmSpecUtil

      public GcmSpecUtil()
  • Method Details

    • gcmSpecExists

      public static boolean gcmSpecExists()
    • gcmSpecExtractable

      public static boolean gcmSpecExtractable()
    • isGcmSpec

      public static boolean isGcmSpec(AlgorithmParameterSpec paramSpec)
    • isGcmSpec

      public static boolean isGcmSpec(Class paramSpecClass)
    • extractGcmSpec

    • extractGcmParameters

      public static ASN1Sequence extractGcmParameters(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
      Return a sequence representing a primitive version of the GCMParameters class.
      Parameters:
      paramSpec - a GCMParameterSpec.
      Returns:
      an ASN1Sequence representing a GCMParameters.
      Throws:
      InvalidParameterSpecException
    • extractCcmParameters

      public static ASN1Sequence extractCcmParameters(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
      Return a sequence representing a primitive version of the CCMParameters class, derived from a GCMParameterSpec (the JCE has no dedicated CCM spec, so a GCMParameterSpec carries the CCM nonce and tag length). CCMParameters is used rather than GCMParameters so that the RFC 5084 CCM ICV lengths (4/6/8/10/12/14/16 octets) are accepted - notably the 8-octet tag of the TLS *_CCM_8 cipher suites, which GCMParameters would reject as outside the GCM 12-16 range.
      Parameters:
      paramSpec - a GCMParameterSpec.
      Returns:
      an ASN1Sequence representing a CCMParameters.
      Throws:
      InvalidParameterSpecException