Class: JWT::Aws::KMS::SignVerifyKey

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

Overview

Constant Summary collapse

MAPPINGS =
{
  "RS256" => "RSASSA_PKCS1_V1_5_SHA_256",
  "RS384" => "RSASSA_PKCS1_V1_5_SHA_384",
  "RS512" => "RSASSA_PKCS1_V1_5_SHA_512",
  "PS256" => "RSASSA_PSS_SHA_256",
  "PS384" => "RSASSA_PSS_SHA_384",
  "PS512" => "RSASSA_PSS_SHA_512",
  "ES256" => "ECDSA_SHA_256",
  "ES384" => "ECDSA_SHA_384",
  "ES512" => "ECDSA_SHA_512"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(algorithm:) ⇒ SignVerifyKey

Returns a new instance of SignVerifyKey.



23
24
25
# File 'lib/jwt/aws/kms/sign_verify_key.rb', line 23

def initialize(algorithm:)
  @alg = algorithm
end

Instance Method Details

#sign(data:, signing_key:) ⇒ Object



27
28
29
30
# File 'lib/jwt/aws/kms/sign_verify_key.rb', line 27

def sign(data:, signing_key:, **)
  KMS.client.sign(key_id: signing_key, signing_algorithm: signing_algorithm,
                  message: data).signature
end

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



32
33
34
35
# File 'lib/jwt/aws/kms/sign_verify_key.rb', line 32

def verify(data:, verification_key:, signature:, **)
  KMS.client.verify(key_id: verification_key, signing_algorithm: signing_algorithm,
                    message: data, signature: signature).signature_valid
end