Skip to content

Tink Go Google Cloud KMS Extension v2.4.0

Latest

Choose a tag to compare

@Rafi-ur-Rashid Rafi-ur-Rashid released this 07 Aug 23:59
· 3 commits to main since this release

Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

This is Tink Go GCP KMS 2.4.0

What's new

The complete list of changes since 2.3.0 can be found here.

  • *gcpkms.GRPCSigner now implements the tink.Signer interface via the new
    Sign(data []byte) method.
  • Add support for PQC algorithms (ML-DSA-44, ML-DSA-87,
    HASH-SLH-DSA-SHA2-128S-SHA256, and three ML-DSA external-mu variants) in
    Asymmetric Key signing.
  • Add support for RSA, ECDSA and PQC algorithms (ML-DSA-44, ML-DSA-65,
    ML-DSA-87, SLH-DSA, and three ML-DSA external-mu variants) in Asymmetric Key
    verification.

Future work

To see what we're working towards, check our
project roadmap.

Get started

To get started using Tink, see
the setup guide.

Go tooling

go get github.com/tink-crypto/tink-go-gcpkms/v2@v2.4.0

Bazel

workspace(name = "example")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# Release X.25.2 from 2024-01-09.
http_archive(
    name = "com_google_protobuf",
    sha256 = "5e8e2b369a6fcaa24fada21135782eef147aec467cd286c108936a3277e88d2b",
    strip_prefix = "protobuf-25.2",
    urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protobuf-25.2.zip"],
)

# Release from 2023-04-20
http_archive(
    name = "io_bazel_rules_go",
    sha256 = "6dc2da7ab4cf5d7bfc7c949776b1b7c733f05e56edc4bcd9022bb249d2e2a996",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.39.1/rules_go-v0.39.1.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.39.1/rules_go-v0.39.1.zip",
    ],
)

# Release from 2023-01-14
http_archive(
    name = "bazel_gazelle",
    sha256 = "ecba0f04f96b4960a5b250c8e8eeec42281035970aa8852dda73098274d14a1d",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
    ],
)

# [Optional]: tink-go is imported as a go_repository by tink_go_gcpkms_dependencies.
# this is needed only if the user wants to pin to a specific commit/version of tink-go.
# http_archive(
#     name = "com_github_tink_crypto_tink_go_v2",
#     urls = ["https://github.com/tink-crypto/tink-go/releases/download/v2.1.0/tink-go-2.1.0.zip"],
#     strip_prefix = "tink-go-2.1.0",
#     sha256 = "84b4b233fb20b570812e61ccb134d230222b79d2fd765c1d57352a53d439d746",
# )

http_archive(
    name = "com_github_tink_crypto_tink_go_gcpkms",
    urls = ["https://github.com/tink-crypto/tink-go-gcpkms/releases/download/v2.4.0/tink-go-gcpkms-2.4.0.zip"],
    strip_prefix = "tink-go-gcpkms-2.4.0",
    sha256 = "f68bdb469846b60533c8ae60c9d3be88498796038f9f159196754e548120cbb8",
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")

# [Optional]: tink-go is imported as a go_repository by tink_go_gcpkms_dependencies.
# this is needed only if the user wants to pin to a specific commit/version of tink-go.
# load("@com_github_tink_crypto_tink_go_v2//:deps.bzl", tink_go_dependencies="go_dependencies")
#
# tink_go_dependencies()

load("@com_github_tink_crypto_tink_go_gcpkms//:deps.bzl", "tink_go_gcpkms_dependencies")

tink_go_gcpkms_dependencies()

#######################################
#
# Your project dependencies here.
#
#######################################

go_rules_dependencies()

go_register_toolchains(version = "1.20.13")

gazelle_dependencies()