Skip to content

Tink Go 2.1.0

Compare
Choose a tag to compare
@morambro morambro released this 04 Dec 13:32
· 342 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 2.1.0

To get started using Tink, see the setup guide.

What's new?

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

  • Prevented Hybrid Encryption keyset handles from returning AEAD primitives.
  • Restricted visibility of keyderivation/internal/streamingprf with Bazel.
  • Changed target Go language version to 1.20
  • testutil.DummyMAC.VerifyMAC now returns error if the mac is incorrect.
  • Fixed unsafe proto field acces in the aead, hybrid, mac, prf, signature, and
    streamingaead packages. This prevents panics when loading invalid keysets.
  • Made //aead/subtle:subtle public
  • Upgraded dependencies:
    • github.com/google/go-cmp => v0.6.0
    • golang.org/x/crypto => v0.14.0
    • google.golang.org/protobuf => v1.31.0
    • golang.org/x/sys => v0.13.0
      (commit)

Future work

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

Getting started

To get started using Tink, see the setup guide.

Go Tooling

go get github.com/tink-crypto/tink-go/[email protected]

Bazel

workspace(name = "example")

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

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",
    ],
)

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",
    ],
)

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",
)

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

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

load("@com_github_tink_crypto_tink_go_v2//:deps.bzl", tink_go_dependencies="go_dependencies")

tink_go_dependencies()

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

go_rules_dependencies()

go_register_toolchains(version = "1.20.10")

gazelle_dependencies()