private Mac getMac(byte[] key) throws InvalidKeyException, NoSuchAlgorithmException {
        // Can potentially throw NoSuchAlgorithmException if the there has been a change
        // in installed Providers.
        Mac mac = Mac.getInstance(hmacName);
        mac.init(new SecretKeySpec(key, "RAW"));
        return mac; // https://www.youtube.com/watch?v=uB1D9wWxd2w
    }
Performs an HKDF expand operation as specified in RFC 5869.

@param prk a pseudorandom key of at least HashLen octets, usually the output from the
           extract step. Where HashLen is the key size of the underlying Mac
@param info optional context and application specific information, can be zero length
@param length length of output keying material in bytes (<= 255*HashLen)
@return output of keying material of length bytes
@throws InvalidKeyException if prk is not suitable for use as an HMAC key
@throws IllegalArgumentException if length is out of the allowed range
@throws NoSuchAlgorithmException if the Mac algorithm is no longer available
common/src/main/java/org/conscrypt/Hkdf.java