Local KMS is a mock of Amazon Web Services’ KMS API, designed for be used in local development and testing.
Whilst this service does use real encryption, it is designed for development and testing against KMS; not for use in a production environment.
Update: Local KMS is now included as part of localstack.
The need for a local version of KMS started as requirement for a project I was working on; it used AWS KMS to encrypt data, and we needed a way to develop and test against it locally. Localstack covered everything else the project needed, but lacked the KMS functionality. KMS also provided an additional difficultly compared to other mocked AWS services in that by its nature many of its features are not deterministic. Local KMS therefore was also built to seeding support - a feature that allows a set of pre-defined keys and aliases on startup, giving you a deterministic and versionable way to manage test keys.
Local KMS now supports:
Built in Go.