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:
- Temel bir C++ kitaplığı olan tink-cc. En son sürüm 2.3.0'dur.
- AWS KMS uzantısı (tink-cc-awskms). En son sürüm 2.0.1'dir.
- Google Cloud KMS uzantısı (tink-cc-gcpkms). En son sürüm 2.3.0'dur.
Tink C++ (tink-cc)
Tink C++ aşağıdakilere bağlıdır:
- Protobuf 26.1
- Abseil LTS 20230802.0
- BoringSSL veya OpenSSL >=1.1.1
- RapidJSON 1.1.0
- googletest 1.14.0 (yalnızca test)
- Wycheproof (yalnızca test için)
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++ 2.1.0
- AWS C++ SDK 1.7.345
- googletest 1.11.0 (yalnızca test)
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 >= 6 LTS
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++ 2.1.0
- gRPC 1.59.3
- Google Cloud C++ İstemci Kitaplıkları 2.16.0
- googletest 1.11.0 (yalnızca test)
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 >= 6 LTS
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:
- Temel bir Tink kitaplığı olan tink-go. En son sürüm v2.2.0'dır.
- AWS KMS uzantısı tink-go-awskms. En son sürüm 2.1.0'dır.
- Google Cloud KMS uzantısı tink-go-gcpkms. En son sürüm 2.2.0'dır.
- HashiCorp Vault uzantısı olan tink-go-hcvault. En son sürüm 2.2.0'dır.
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
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