Class: JWT::Aws::KMS::SignVerifyKey
- Inherits:
-
Object
- Object
- JWT::Aws::KMS::SignVerifyKey
- Includes:
- JWA::SigningAlgorithm
- Defined in:
- lib/jwt/aws/kms/sign_verify_key.rb
Overview
Represent a AWS asymmetric key docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
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
-
#initialize(algorithm:) ⇒ SignVerifyKey
constructor
A new instance of SignVerifyKey.
- #sign(data:, signing_key:) ⇒ Object
- #verify(data:, verification_key:, signature:) ⇒ Object
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 |