Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jwt-aws-kms

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jwt-aws-kms

  • 1.1.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

JWT::Aws::KMS

AWS KMS algorithm extensions for ruby-jwt.

Installation

Add this line to your application's Gemfile:

gem 'jwt-aws-kms'

And require the gem in your code.

require `jwt-aws-kms`

Supported algorithms

The gem supports the following AWS KMS algorithms:

Algorithm NameDescriptionJWA Name
RSASSA_PKCS1_V1_5_SHA_256RSASSA PKCS1 v1.5 using SHA-256RS256
RSASSA_PKCS1_V1_5_SHA_384RSASSA PKCS1 v1.5 using SHA-384RS384
RSASSA_PKCS1_V1_5_SHA_512RSASSA PKCS1 v1.5 using SHA-512RS512
RSASSA_PSS_SHA_256RSASSA PSS using SHA-256PS256
RSASSA_PSS_SHA_384RSASSA PSS using SHA-384PS384
RSASSA_PSS_SHA_512RSASSA PSS using SHA-512PS512
ECDSA_SHA_256ECDSA using P-256 and SHA-256ES256
ECDSA_SHA_384ECDSA using P-384 and SHA-384ES384
ECDSA_SHA_512ECDSA using P-521 and SHA-512ES512

Usage

Basic usage


# Create a key, for example with the ruby AWS SDK
key = Aws::KMS::Client.new.create_key(key_spec: "HMAC_512", key_usage: "GENERATE_VERIFY_MAC")

algo = ::JWT::Aws::KMS.for(algorithm: "HS512")

token = JWT.encode(payload, key.key_metadata.key_id, algo)
decoded_token = JWT.decode(token, key.key_metadata.key_id, true, algorithm: algo)

Replace default algorithms

You can swap the default algorithms in the JWT gem to AWS backed ones by calling ::JWT::Aws::KMS.replace_defaults!.

::JWT::Aws::KMS.replace_defaults! # Called in a initializer of some kind

token = JWT.encode(payload, "e25c502b-a383-44ac-a778-0d97e8688cb7", "HS512") # Encode payload with KMS key e25c502b-a383-44ac-a778-0d97e8688cb7

Development

Localstack can be used to simulate the AWS KMS environment.

docker run \
  --rm -it \
  -p 127.0.0.1:4566:4566 \
  -p 127.0.0.1:4510-4559:4510-4559 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  localstack/localstack

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/anakinj/jwt-aws-kms. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Jwt::Kms project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

FAQs

Package last updated on 28 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc