001package com.nimbusds.openid.connect.provider.spi.crypto;
002
003
004import net.jcip.annotations.ThreadSafe;
005
006
007/**
008 * Interface exposed by the Connect2id server for computing Hash-based Message
009 * Authentication Codes (HMAC).
010 */
011@ThreadSafe
012public interface HMACComputer {
013        
014        
015        /**
016         * Computes the SHA-256 based HMAC for the specified input. Uses the
017         * secret key with JWK ID "hmac" configured for the OpenID Provider /
018         * Authorisation Server.
019         *
020         * @param input The input.
021         *
022         * @return The HMAC SHA-256.
023         */
024        byte[] computeHMACSHA256(final byte[] input);
025}