Class: JWT::Aws::KMS::HmacKey

Inherits:
Object
  • Object
show all
Includes:
JWA::SigningAlgorithm
Defined in:
lib/jwt/aws/kms/hmac_key.rb

Overview

Constant Summary collapse

MAPPINGS =
{
  "HS256" => "HMAC_SHA_256",
  "HS384" => "HMAC_SHA_384",
  "HS512" => "HMAC_SHA_512"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(algorithm:) ⇒ HmacKey

Returns a new instance of HmacKey.



17
18
19
# File 'lib/jwt/aws/kms/hmac_key.rb', line 17

def initialize(algorithm:)
  @alg = algorithm
end

Instance Method Details

#sign(data:, signing_key:) ⇒ Object



21
22
23
# File 'lib/jwt/aws/kms/hmac_key.rb', line 21

def sign(data:, signing_key:, **)
  KMS.client.generate_mac(key_id: signing_key, mac_algorithm: mac_algorithm, message: data).mac
end

#verify(data:, verification_key:, signature:) ⇒ Object



25
26
27
28
# File 'lib/jwt/aws/kms/hmac_key.rb', line 25

def verify(data:, verification_key:, signature:, **)
  KMS.client.verify_mac(key_id: verification_key, mac_algorithm: mac_algorithm, message: data,
                        mac: signature).mac_valid
end