Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

Recommendation on the best approach for rotation #707

Closed
iamyohann opened this issue Jul 24, 2023 · 1 comment
Closed

Recommendation on the best approach for rotation #707

iamyohann opened this issue Jul 24, 2023 · 1 comment
Assignees
Labels

Comments

@iamyohann
Copy link

Should we use Tinkey (java based) or the golang keyset manager in Go https://github.com/google/tink/blob/master/go/keyset/manager.go

We plan on automating key rotation, and we're wondering whether to programatically call the Java code or Golang code...

Can we get some info on maturity, compatibility guarantees etc.... so we can make an informed choice on the best approach...

@iamyohann iamyohann changed the title Best key manager for rotation Recommendation on the best approach for rotation Jul 24, 2023
@juergw
Copy link
Contributor

juergw commented Jul 24, 2023

The functionality offered by the keyset manager in Golang and the Tinkey command line tool are very similar. And the serialization of the keysets are compatible, so any keyset (or encrypted keyset) produced with Tinkey is readable by the golang keyset package, and vice versa.

So, it really is up to you to choose which way you prefer. One thing that we recommend however is that you keep your key managment code and your production code that uses the keys separate.

There are some functionalities that are missing in both, for example importing existing keys. We have plans to extend the API in golang similar to what we already did in Java (see KeysetHandle.Builder in https://github.com/tink-crypto/tink-java/blob/main/src/main/java/com/google/crypto/tink/KeysetHandle.java). The resulting API will still be compatible to what the keyset manager currently does.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants