Menyiapkan Tink Java

Setelah menginstal dan menyiapkan Tink, lanjutkan dengan Langkah Berikutnya.

Tink Java

Library Java inti adalah tink-java dengan 1.21.0 sebagai rilis terbaru. Tink Java mendukung Java 11 atau yang lebih baru.

Maven

Anda dapat menyertakan Tink Java menggunakan Maven:

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

Bazel

Pengguna Bazel dapat menambahkan Tink Java sebagai dependensi dengan menambahkan hal berikut dalam file MODULE.bazel:

  bazel_dep(name = "tink_java", version = "1.21.0")

  git_override(
      module_name = "tink_java",
      remote = "https://github.com/tink-crypto/tink-java",
      tag = "v1.21.0",
  )

Tink Android

Library Android inti adalah tink-java dengan 1.21.0 sebagai rilis terbaru.

Tink Android didukung sepenuhnya mulai dari API level 24. Sebagian besar bagian Tink diharapkan berfungsi mulai dari API level 23. Bagian yang tidak dapat langsung dijalankan oleh Tink dengan API level 23 adalah:

  • Library JWT memerlukan API level 24 karena menggunakan class seperti java.util.Optional. Batasan ini dapat dihindari dengan desugaring.

  • Beberapa API di com.google.crypto.tink.streamingaead menggunakan SeekableByteBufferChannel yang hanya tersedia dari API level 24.

Karena alasan teknis, kami hanya menguji Tink di Android pada infrastruktur internal Google. Kami tidak memperkirakan adanya masalah karena hal ini, tetapi jika Anda mengalami masalah, harap ajukan masalah.

Tink Android tidak memerlukan konfigurasi proguard.

Gradle

Anda dapat menggunakan tink-android dari Gradle:

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

Ekstensi AWS KMS

Ekstensi AWS KMS Tink Java adalah tink-java-awskms dengan 2.0.0 sebagai rilis terbaru.

Maven

Anda dapat menyertakan ekstensi AWS KMS Tink Java menggunakan Maven:

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

Bazel

Artefak rilis Maven

Anda dapat menginstal artefak Maven com.google.crypto.tink:tink-awskms bersama dengan com.google.crypto.tink:tink menggunakan alat rules_jvm_external.

# ...

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

Ekstensi Google Cloud KMS

Ekstensi Google Cloud KMS Tink Java adalah tink-java-gcpkms dengan 1.10.0 sebagai rilis terbaru.

Maven

Anda dapat menyertakan ekstensi Google Cloud KMS Tink Java menggunakan Maven:

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

Bazel

Artefak rilis Maven

Anda dapat menginstal artefak Maven com.google.crypto.tink:tink-gcpkmsbersama dengan com.google.crypto.tink:tink menggunakan alat rules_jvm_external.

# ...

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

Build dari sumber

Jika ingin mem-build tink-gcpkms dari sumber, misalnya untuk menyematkan commit tertentu, Anda dapat menyertakannya sebagai http_archive dalam file WORKSPACE:

# ...

http_archive(
    name = "tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/archive/refs/tags/v1.21.0.zip],
    urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.21.0/tink-java-1.21.0.zip"],
    strip_prefix = "tink-java-1.21.0",
    sha256 = "771051851184047a3fdfbe2aca552e00c2984ac4a596951a7ad1ea8837b178da",
)

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

Aplikasi Tink Java

Library Aplikasi Tink Java menyediakan implementasi untuk Token Metode Pembayaran Google, Verifikasi Sisi Server Iklan Reward Google AdMob, dan RFC 8291 - Enkripsi Pesan untuk Web Push dengan 1.14.0 sebagai rilis terbaru.

Maven

Anda dapat menyertakan library Aplikasi Tink Java menggunakan Maven:

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

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

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

Bazel

Anda dapat menginstal salah satu artefak Maven com.google.crypto.tink:apps-* menggunakan alat rules_jvm_external.

# ...

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

Langkah berikutnya

Setelah selesai menyiapkan Tink, lanjutkan dengan langkah-langkah penggunaan Tink standar:

  • Pilih primitif – Tentukan primitif yang akan digunakan berdasarkan kasus penggunaan Anda
  • Kelola kunci – Lindungi kunci Anda dengan KMS eksternal, buat keyset, dan rotasi kunci Anda