Class MACProvider

    • Constructor Detail

      • MACProvider

        protected MACProvider​(byte[] secret,
                              Set<JWSAlgorithm> supportedAlgs)
                       throws KeyLengthException
        Creates a new Message Authentication (MAC) provider.
        Parameters:
        secret - The secret. Must be at least 256 bits long and not null.
        supportedAlgs - The supported HMAC algorithms. Must not be null.
        Throws:
        KeyLengthException - If the secret length is shorter than the minimum 256-bit requirement.
      • MACProvider

        protected MACProvider​(SecretKey secretKey,
                              Set<JWSAlgorithm> supportedAlgs)
                       throws KeyLengthException
        Creates a new Message Authentication (MAC) provider.
        Parameters:
        secretKey - The secret key. Must be at least 256 bits long and not null.
        supportedAlgs - The supported HMAC algorithms. Must not be null.
        Throws:
        KeyLengthException - If the secret length is shorter than the minimum 256-bit requirement.
    • Method Detail

      • getJCAAlgorithmName

        protected static String getJCAAlgorithmName​(JWSAlgorithm alg)
                                             throws JOSEException
        Gets the matching Java Cryptography Architecture (JCA) algorithm name for the specified HMAC-based JSON Web Algorithm (JWA).
        Parameters:
        alg - The JSON Web Algorithm (JWA). Must be supported and not null.
        Returns:
        The matching JCA algorithm name.
        Throws:
        JOSEException - If the algorithm is not supported.
      • getSecret

        public byte[] getSecret()
        Gets the secret bytes.
        Returns:
        The secret bytes, null if this provider was constructed with a SecretKey that doesn't expose the key material.
      • getSecretString

        public String getSecretString()
        Gets the secret as a UTF-8 encoded string.
        Returns:
        The secret as a UTF-8 encoded string, null if this provider was constructed with a SecretKey that doesn't expose the key material.