Kemal::Hmac
Constants
ALGORITHM = algorithm((ENV.fetch("HMAC_ALGORITHM", "SHA256")).upcase)
HMAC_CLIENT_HEADER = ENV.fetch("HMAC_CLIENT_HEADER", "hmac-client")
HMAC_KEY_DELIMITER = ENV.fetch("HMAC_KEY_DELIMITER", "_")
HMAC_KEY_SUFFIX_LIST = ((ENV.fetch("HMAC_KEY_SUFFIX_LIST", "HMAC_SECRET_BLUE,HMAC_SECRET_GREEN")).split(",")).map(&.strip)
HMAC_REJECTED_CODE = (ENV.fetch("HMAC_REJECTED_CODE", 401)).to_i
HMAC_REJECTED_MESSAGE_PREFIX = ENV.fetch("HMAC_REJECTED_MESSAGE_PREFIX", "Unauthorized:")
HMAC_TIMESTAMP_HEADER = ENV.fetch("HMAC_TIMESTAMP_HEADER", "hmac-timestamp")
HMAC_TIMESTAMP_SECOND_WINDOW = (ENV.fetch("HMAC_TIMESTAMP_SECOND_WINDOW", 30)).to_i
HMAC_TOKEN_HEADER = ENV.fetch("HMAC_TOKEN_HEADER", "hmac-token")
KEY_VALIDATION_REGEX = /^[A-Z0-9][A-Z0-9_-]+[A-Z0-9]$/
MD4 = 0
MD5 = 1
RIPEMD160 = 2
SHA1 = 3
SHA224 = 4
SHA256 = 5
SHA384 = 6
SHA512 = 7
Class methods
algorithm(algorithm : String) : OpenSSL::Algorithm
Sourcealgorithms(algorithm) : Int32
select the algorithm based on the string name and falls back to SHA256 if no match is found