Tink kurulumu

Tink'i kaynaktan derleyebilir veya dile özel paketleri kullanabilirsiniz. Aşağıdaki talimatlar başlangıç için yardımcı olacaktır.

Tink'i yükleyip ayarlamayı tamamladıktan sonra bu sayfanın sonundaki Sonraki Adımlar'a geçin.

C++

Tink aşağıdaki C++ kitaplıklarını sağlar:

Tink C++ (tink-cc)

Tink C++ aşağıdakilere bağlıdır:

Tink C++ şunu destekler:

  • C++ >= 14
  • İşletim sistemi:
    • UbuntuLTS >= 20.04 (x86_64)
    • macOS >= 12.5 Monterey (x86_64)
    • Windows Server >= 2019 (x86_64)
  • Derleyici:
    • GCC >= 7.5.0
    • Apple Clang >= 14
    • MSVC >= 2019
  • Derleme sistemi:

CMake

tink-cc dosyasını ağaç içi bağımlılık olarak eklemeniz gerekir. Örneğin:

cmake_minimum_required(VERSION 3.13)
project(YourProject CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 14)
include(FetchContent)

# Import Tink as an in-tree dependency.
FetchContent_Declare(
  tink
  URL       https://github.com/tink-crypto/tink-cc/archive/refs/tags/v2.3.0.zip
  URL_HASH  SHA256=363ce671ab5ce0b24f279d3647185597a25f407c3608db007315f79f151f436b
)
FetchContent_GetProperties(tink)
if(NOT googletest_POPULATED)
  FetchContent_Populate(tink)
    add_subdirectory(${tink_SOURCE_DIR} ${tink_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()

add_executable(your_app your_app.cc)
target_link_libraries(your_app tink::static)

Bazel

Bzlmod

Modüller içeren Bazel kullanıyorsanız MODULE.bazel dosyanıza aşağıdakileri ekleyin:

bazel_dep(name = "tink_cc", version = "2.3.0")

WORKSPACE

Bazel'i WORKSPACE dosyalarıyla kullanıyorsanız WORKSPACE dosyanıza aşağıdakileri ekleyin:

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

http_archive(
    name = "tink_cc",
    urls = ["https://github.com/tink-crypto/tink-cc/archive/refs/tags/v2.3.0.zip"],
    strip_prefix = "tink-2.3.0",
    sha256 = "363ce671ab5ce0b24f279d3647185597a25f407c3608db007315f79f151f436b",
)

load("@tink_cc//:tink_cc_deps.bzl", "tink_cc_deps")

tink_cc_deps()

load("@tink_cc//:tink_cc_deps_init.bzl", "tink_cc_deps_init")

tink_cc_deps_init()

Tink C++ AWS KMS uzantısı (tink-cc-awskms)

Tink C++ Google Cloud KMS aşağıdakilere bağlıdır:

Tink C++ AWS KMS aşağıdakileri destekler:

  • C++ >= 14
  • İşletim sistemi:
    • UbuntuLTS >= 20.04 (x86_64)
    • macOS >= 12.5 Monterey (x86_64)
  • Derleyici:
    • GCC >= 7.5.0
    • Apple Clang >= 14
  • Derleme sistemi:

Bazel

Projenizin WORKSPACE dosyasına aşağıdakileri eklemeniz gerekir:

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

http_archive(
    name = "tink_cc",
    urls = ["https://github.com/tink-crypto/tink-cc/archive/refs/tags/v2.3.0.zip"],
    strip_prefix = "tink-2.3.0",
    sha256 = "363ce671ab5ce0b24f279d3647185597a25f407c3608db007315f79f151f436b",
)

load("@tink_cc//:tink_cc_deps.bzl", "tink_cc_deps")

tink_cc_deps()

load("@tink_cc//:tink_cc_deps_init.bzl", "tink_cc_deps_init")

tink_cc_deps_init()

http_archive(
    name = "tink_cc_awskms",
    urls = ["https://github.com/tink-crypto/tink-cc-awskms/archive/refs/tags/v2.0.1.zip"],
    strip_prefix = "tink-cc-awskms-2.0.1",
    sha256 = "366319b269f62af120ee312ce4c99ce3738ceb23ce3f9491b4859432f8b991a4",
)

load("@tink_cc_awskms//:tink_cc_awskms_deps.bzl", "tink_cc_awskms_deps")

tink_cc_awskms_deps()

Tink C++ Google Cloud KMS uzantısı (tink-cc-gcpkms)

Tink C++ Google Cloud KMS aşağıdakilere bağlıdır:

Tink C++ Google Cloud KMS aşağıdakileri destekler:

  • C++ >= 14
  • İşletim sistemi:
    • UbuntuLTS >= 20.04 (x86_64)
    • macOS >= 12.5 Monterey (x86_64)
  • Derleyici:
    • GCC >= 7.5.0
    • Apple Clang >= 14
  • Derleme sistemi:

Bazel

Projenizin WORKSPACE dosyasına aşağıdakileri eklemeniz gerekir:

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

http_archive(
    name = "tink_cc_gcpkms",
    urls = ["https://github.com/tink-crypto/tink-cc-gcpkms/releases/download/v2.3.0/tink-cc-gcpkms-2.3.0.zip"],
    strip_prefix = "tink-cc-gcpkms-2.3.0",
    sha256 = "5af0d0a502afc346bbaa40f226e8f3b28fe3f5def696cbaaa7bc13702af78901",
)

load("@tink_cc_gcpkms//:tink_cc_gcpkms_deps.bzl", "tink_cc_gcpkms_deps")

tink_cc_gcpkms_deps()

load("@tink_cc_gcpkms//:tink_cc_gcpkms_deps_init.bzl", "tink_cc_gcpkms_deps_init")

tink_cc_gcpkms_deps_init(register_go = True)

Go

Tink aşağıdaki Go kitaplıklarını sağlar:

Tüm Tink Go kitaplıkları, standart Go araçlarıyla veya Bazel ile kullanılabilen Go modülleri olarak yayınlanır.

Tink Go (tink-go)

Go araçları

Proje dizininizden aşağıdaki komutu çalıştırın:

go get github.com/tink-crypto/tink-go/v2@v2.2.0

Resmi Go belgelerini inceleyin.

Tink Go AWS KMS uzantısı (tink-go-awskms)

Go araçları

Proje dizininizden aşağıdaki komutu çalıştırın:

go get github.com/tink-crypto/tink-go-awskms/v2@2.1.0

Resmi Go belgelerini inceleyin.

Tink Go Google Cloud KMS uzantısı (tink-go-gcpkms)

Go araçları

Proje dizininizden aşağıdaki komutu çalıştırın:

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

Resmi Go belgelerini inceleyin.

Tink Go HashiCorp Vault uzantısı (tink-go-hcvault)

Go araçları

Proje dizininizden aşağıdaki komutu çalıştırın:

go get github.com/tink-crypto/tink-go-hcvault/v2@v2.2.0

Resmi Go belgelerini inceleyin.

Java

Tink Java'yı ve uzantılarını ayarlama

ObjC

GitHub'daki HOWTO sayfasına bakın.

Python

Tink Python kitaplığı (tink-py), macOS (x86-64 ve ARM64), Linux (x86-64 ve ARM64) ve Windows (x86-64) işletim sistemlerinde Python 3.8 veya sonraki sürümleri destekler. En son sürüm 1.10.0'dır. Pip kullanılarak yerel olarak yüklenebilir veya Bazel ile kullanılabilir.

Tink Python, AWS KMS, Google Cloud KMS ve HashiCorp Vault ile entegrasyon sağlar.

Pip

Sisteminize yönelik Tink Python ikili sürümünü PyPI'den aşağıdaki komutu çalıştırarak yükleyebilirsiniz:

pip3 install tink==1.10.0
# Core Tink + Google Cloud KMS extension.
pip3 install tink[gcpkms]==1.10.0
# Core Tink + AWS KMS extension.
pip3 install tink[awskms]==1.10.0
# Core Tink + HashiCorp Vault KMS extension.
pip3 install tink[hcvault]==1.10.0
# Core Tink + all the KMS extensions.
pip3 install tink[all]==1.10.0

Ortamınız için bir ikili paket yayınlanmamışsa pip, PyPI'de yayınlanan kaynak dağıtımı kullanılarak projenin otomatik olarak derlenmesine başvurur. Bu durumda, projeyi başarılı bir şekilde derlemek için Bazel veya Bazelisk ile protobuf derleyicisinin yüklü olması gerekir.

Bazel

Bazel kullanıcıları, Tink Python'u WORKSPACE dosyalarına aşağıdaki şekilde ekleyebilir:

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

http_archive(
    name = "tink_py",
    urls = ["https://github.com/tink-crypto/tink-py/releases/download/v1.10.0/tink-py-1.10.0.zip"],
    strip_prefix = "tink-py-1.10.0",
    sha256 = "767453aae4aad6de4fbb4162992184aa427b7b27864fe9912c270b24c673e1cc",
)

load("@tink_py//:tink_py_deps.bzl", "tink_py_deps")
tink_py_deps()

load("@rules_python//python:repositories.bzl", "py_repositories")
py_repositories()

load("@tink_py//:tink_py_deps_init.bzl", "tink_py_deps_init")
tink_py_deps_init("tink_py")

Sonraki adımlar

Tink'i kurmayı tamamladıktan sonra standart Tink kullanım adımlarına devam edin:

  • Basit öğe seçin: Kullanım alanınıza göre hangi basit öğenin kullanılacağına karar verin.
  • Anahtarları yönetme: Anahtarlarınızı harici KMS'nizle koruyun, anahtar kümeleri oluşturun ve anahtarlarınızı döndürün