Tink C++ सेट अप करना

Tink को इंस्टॉल और सेट अप करने के बाद, अगले चरण पर जाएं.

इनके साथ काम करता है

सभी लाइब्रेरी के साथ काम करता है इसके अलावा, Tink C++ के साथ भी काम करता है
भाषा C++ >= 17 लागू नहीं
ओएस UbuntuLTS >= 20.04 (x86_64)
macOS >= 12.5 Monterey (x86_64)
Windows Server >= 2019 (x86_64)
कंपाइलर GCC >= 7.5.0
Apple Clang >= 14
MSVC >= 2019
बिल्ड सिस्टम Bazel >= 7 LTS CMake >= 3.22

इंस्टॉलेशन

Tink C++

कोर C++ लाइब्रेरी, tink-cc है. इसका सबसे नया वर्शन 2.7.0 है.

Bazel

Bzlmod

इसे अपनी MODULE.bazel फ़ाइल में जोड़ें:

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

WORKSPACE

इसे अपनी WORKSPACE फ़ाइल में जोड़ें:

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.7.0.zip"],
    strip_prefix = "tink-2.7.0",
    sha256 = "37d5e17b70686c45a6afdfdc02badb99c1b07fc1cd5b5c60645010da6ff7ee30",
)

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()

CMake

tink-cc को इन-ट्री डिपेंडेंसी के तौर पर जोड़ें.

cmake_minimum_required(VERSION 3.22)
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.7.0.zip
  URL_HASH  SHA256=37d5e17b70686c45a6afdfdc02badb99c1b07fc1cd5b5c60645010da6ff7ee30
)
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)

AWS KMS एक्सटेंशन

Tink C++ AWS KMS एक्सटेंशन, tink-cc-awskms है. इसका सबसे नया वर्शन 2.0.1 है.

Bazel

WORKSPACE

इसे अपनी WORKSPACE फ़ाइल में जोड़ें:

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.7.0.zip"],
    strip_prefix = "tink-2.7.0",
    sha256 = "37d5e17b70686c45a6afdfdc02badb99c1b07fc1cd5b5c60645010da6ff7ee30",
)

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()

Google Cloud KMS एक्सटेंशन

Tink C++ Google Cloud KMS एक्सटेंशन tink-cc-gcpkms है. इसका सबसे नया वर्शन 2.4.0 है.

Bazel

WORKSPACE

इसे अपनी WORKSPACE फ़ाइल में जोड़ें:

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.4.0/tink-cc-gcpkms-2.4.0.zip"],
    strip_prefix = "tink-cc-gcpkms-2.4.0",
    sha256 = "b2c7803b03fcce2d52b15e97f871155d477ccf88b2146337d54202defd074418",
)

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)

अगले चरण

Tink को सेट अप करने के बाद, Tink के इस्तेमाल के सामान्य चरणों पर जाएं:

  • कोई प्रिमिटिव चुनें – तय करें कि आपको अपने इस्तेमाल के उदाहरण के आधार पर, कौनसी प्रिमिटिव इस्तेमाल करनी है
  • कुंजियां मैनेज करें – अपनी कुंजियों को अपने बाहरी केएमएस की मदद से सुरक्षित रखें, कीसेट जनरेट करें, और अपनी कुंजियों को रोटेट करें