Tink Java را راه اندازی کنید

پس از نصب و راه اندازی Tink، مراحل بعدی را ادامه دهید.

تینک جاوا

کتابخانه اصلی جاوا tink-java با 1.16.0 به عنوان آخرین نسخه است. Tink Java از جاوا 8 یا جدیدتر پشتیبانی می کند.

ماون

می توانید Tink Java را با استفاده از Maven اضافه کنید:

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.16.0</version>
</dependency>

بازل

Maven مصنوع منتشر کرد

روشی که کاربران Bazel می توانند Tink Java را به عنوان وابستگی اضافه کنند، با نصب آرتیفکت انتشار Maven با استفاده از ابزار rules_jvm_external در فایل WORKSPACE است:

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

RULES_JVM_EXTERNAL_TAG = "6.1"
RULES_JVM_EXTERNAL_SHA ="d31e369b854322ca5098ea12c69d7175ded971435e55c18dd9dd5f29cc5249ac"

http_archive(
    name = "rules_jvm_external",
    strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
    sha256 = RULES_JVM_EXTERNAL_SHA,
    url = "https://github.com/bazelbuild/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % (RULES_JVM_EXTERNAL_TAG, RULES_JVM_EXTERNAL_TAG)
)

load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")

rules_jvm_external_deps()

load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")

rules_jvm_external_setup()

load("@rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.16.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

ساخت از منبع

اگر می خواهید tink-java از منبع بسازید، به عنوان مثال برای پین کردن یک commit خاص، می توانید آن را به عنوان http_archive در فایل WORKSPACE خود قرار دهید:

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

TINK_COMMIT="f4127f6b6ab9c367d41ade1f50db6f0ef9909044"
TINK_SHA256="e246f848f7749e37f558955ecb50345b04d79ddb9d8d1e8ae19f61e8de530582"

http_archive(
    name = "tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/archive/%s.zip" % TINK_COMMIT],
    strip_prefix = "tink-%s" % TINK_COMMIT,
    sha256 = TINK_SHA256
)

load("@tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps")

tink_java_deps()

load("@tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init")

tink_java_deps_init()

# rules_jvm_external is imported and initialized by tink_java_deps and
# tink_java_deps_init.
load("@rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
  artifacts = TINK_MAVEN_ARTIFACTS + # ... other dependencies ...
  repositories = [
      "https://maven.google.com",
      "https://repo1.maven.org/maven2",
  ],
)

تینک اندروید

کتابخانه اصلی اندروید tink-java با 1.16.0 به عنوان آخرین نسخه است.

Tink Android از سطح API 24 به طور کامل پشتیبانی می‌شود. انتظار می‌رود اکثر قسمت‌های Tink از سطح API 21 شروع به کار کنند. قسمت‌هایی که Tink با سطح API 21 تمام نمی‌شود عبارتند از:

  • کتابخانه JWT به سطح 24 API نیاز دارد زیرا از کلاس هایی مانند java.util.Optional استفاده می کند. این محدودیت را می توان با شکر زدایی اجتناب کرد.

  • کلاس‌ها در com.google.crypto.tink.integration.android فقط از سطح API 23 به طور کامل آزمایش می‌شوند.

  • برخی از APIها در com.google.crypto.tink.streamingaead از SeekableByteBufferChannel استفاده می کنند که فقط از سطح 24 API در دسترس است.

به دلایل فنی، ما فقط Tink را در اندروید در زیرساخت داخلی گوگل آزمایش می کنیم. به این دلیل ما انتظار هیچ مشکلی نداریم، اما اگر با مشکلی مواجه شدید، لطفاً مشکلی را مطرح کنید.

Tink Android نیازی به پیکربندی proguard ندارد.

گریدل

می توانید از tink-android از Gradle استفاده کنید:

dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.16.0'
}

برنامه افزودنی AWS KMS

پسوند Tink Java AWS KMS tink-java-awskms با 1.11.0 به عنوان آخرین نسخه است.

ماون

می توانید با استفاده از Maven افزونه Tink Java AWS KMS را اضافه کنید:

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-awskms</artifactId>
    <version>1.11.0</version>
  </dependency>
</dependencies>

بازل

Maven مصنوع منتشر کرد

می توانید با استفاده از ابزار rules_jvm_external مصنوع com.google.crypto.tink:tink-awskms Maven را در کنار com.google.crypto.tink:tink نصب کنید.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.16.0",
        "com.google.crypto.tink:tink-awskms:1.11.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

ساخت از منبع

اگر می خواهید tink-awskms از منبع بسازید، به عنوان مثال برای پین کردن یک commit خاص، می توانید آن را به عنوان http_archive در فایل WORKSPACE خود قرار دهید:

# ...

http_archive(
    name = "tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
    strip_prefix = "tink-java-1.16.0",
    sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)

load("@tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps")

tink_java_deps()

load("@tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init")

tink_java_deps_init()

http_archive(
    name = "tink_java_awskms",
    urls = ["https://github.com/tink-crypto/tink-java-awskms/releases/download/v1.11.0/tink-java-awskms-1.11.0.zip"],
    strip_prefix = "tink-java-awskms-1.11.0",
    sha256 = "18f8faa7ba0019fc584f9e03f94221ebbcc83f059568d2277a4866003153e151",
)

load("@tink_java_awskms//:tink_java_awskms_deps.bzl", "TINK_JAVA_AWSKMS_MAVEN_ARTIFACTS")

maven_install(
    artifacts = TINK_MAVEN_ARTIFACTS + TINK_JAVA_AWSKMS_MAVEN_ARTIFACTS + [
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

برنامه افزودنی Google Cloud KMS

افزونه Tink Java Google Cloud KMS tink-java-gcpkms با 1.10.0 به عنوان آخرین نسخه است.

ماون

می‌توانید افزونه Tink Java Google Cloud KMS را با استفاده از Maven اضافه کنید:

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-gcpkms</artifactId>
    <version>1.10.0/version>
  </dependency>
</dependencies>

بازل

Maven مصنوع منتشر کرد

می توانید با استفاده از ابزار rules_jvm_external مصنوع com.google.crypto.tink:tink-gcpkms Maven را در کنار com.google.crypto.tink:tink نصب کنید.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.16.0",
        "com.google.crypto.tink:tink-gcpkms:1.10.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

ساخت از منبع

اگر می خواهید tink-gcpkms از منبع بسازید، به عنوان مثال برای پین کردن یک commit خاص، می توانید آن را به عنوان یک http_archive در فایل WORKSPACE خود قرار دهید:

# ...

http_archive(
    name = "tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
    strip_prefix = "tink-java-1.16.0",
    sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)

load("@tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps")

tink_java_deps()

load("@tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init")

tink_java_deps_init()

http_archive(
    name = "tink_java_gcpkms",
    urls = ["https://github.com/tink-crypto/tink-java-gcpkms/releases/download/v1.10.0/tink-java-gcpkms-1.10.0.zip"],
    strip_prefix = "tink-java-gcpkms-1.10.0",
    sha256 = "ad85625cc4409f2f6ab13a8eef39c965501585e9323d59652cce322b3d2c09a2",
)

load("@tink_java_gcpkms//:tink_java_gcpkms_deps.bzl", "TINK_JAVA_GCPKMS_MAVEN_ARTIFACTS")

maven_install(
    artifacts =  TINK_MAVEN_ARTIFACTS + TINK_JAVA_GCPKMS_MAVEN_ARTIFACTS + [
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

برنامه های جاوا Tink

کتابخانه Tink Java Apps پیاده‌سازی‌هایی را برای توکن روش پرداخت Google ، تأیید سمت سرور تبلیغات پاداش‌دهی شده Google AdMob ، و RFC 8291 - رمزگذاری پیام برای Web Push با نسخه 1.11.0 به عنوان آخرین نسخه ارائه می‌کند.

ماون

می‌توانید کتابخانه Tink Java Apps را با استفاده از Maven اضافه کنید:

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-webpush</artifactId>
  <version>1.11.0</version>
</dependency>

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-paymentmethodtoken</artifactId>
  <version>1.11.0</version>
</dependency>

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-rewardedads</artifactId>
  <version>1.11.0</version>
</dependency>

بازل

می توانید با استفاده از ابزار rules_jvm_external ، هر یک از مصنوعات com.google.crypto.tink:apps-* Maven را نصب کنید.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:apps-webpush:1.11.0",
        "com.google.crypto.tink:apps-paymentmethodtoken:1.11.0",
        "com.google.crypto.tink:apps-rewardedads:1.11.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

مراحل بعدی

پس از اتمام راه‌اندازی Tink، مراحل استاندارد استفاده از Tink را ادامه دهید:

  • یک primitive را انتخاب کنید - بر اساس مورد استفاده خود تصمیم بگیرید که از کدام بدوی استفاده کنید
  • مدیریت کلیدها - از کلیدهای خود با KMS خارجی خود محافظت کنید، مجموعه کلیدها را ایجاد کنید و کلیدهای خود را بچرخانید.