Skip to content

kolide/krypto

Repository files navigation

Krypto

This repository contains libraries to facilitate cross-language cryptographic messaging between Kolide products.

Project Layout

This project has a variety of languages all stored in a big pile.

  1. It's a gem!
  2. It's a go module!

Enjoy!

FAQ

1. But Why?

We work with various languages, and while they support many cryptography functions, finding the common set functions has a fair bit of trial and error. These libraries hardcode those settings, and build additional tools over them.

In isolation, NaCl (or libsodium) would be a good approach. But that's not an easy library to bring into our ecosystem at this time.

2. Why a dedicated repo?

Unlike many of our libraries, this is in a dedicated repository.

This was chosen to make it easier to isolate the parts that are cross language compatible, and thus must update in tandem. There is a set of cross language tests in cross_language_tests/ designed to check this. (They are go tests, and can be run as go test ./cross_language_tests/)

Thanks and References

This wouldn't be possible without the work of various people. As code, blog posts, and stackoverflow posts.