Setelah menginstal dan menyiapkan Tink, lanjutkan dengan Langkah Berikutnya.
Tink Java
Library Java inti adalah tink-java dengan 1.18.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.18.0</version>
</dependency>
Bazel
Artefak rilis Maven
Cara yang direkomendasikan bagi pengguna Bazel untuk menambahkan Tink Java sebagai dependensi adalah dengan menginstal artefak rilis Maven menggunakan alat rules_jvm_external
di file WORKSPACE
mereka:
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.18.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Membangun dari sumber
Jika Anda ingin mem-build tink-java
dari sumber, misalnya untuk menyematkan commit tertentu, Anda dapat menyertakannya sebagai http_archive
dalam file 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 Android
Library Android inti adalah tink-java dengan 1.18.0 sebagai rilis terbaru.
Tink Android didukung sepenuhnya mulai dari API level 24. Sebagian besar bagian Tink diharapkan berfungsi mulai dari level API 23. Bagian yang tidak dapat dijalankan Tink langsung dengan API level 23 adalah:
Library JWT memerlukan level API 24 karena menggunakan class seperti
java.util.Optional
. Batasan ini dapat dihindari dengan desugaring.Beberapa API di
com.google.crypto.tink.streamingaead
menggunakanSeekableByteBufferChannel
yang hanya tersedia dari level API 24.
Karena alasan teknis, kami hanya menguji Tink di Android pada infrastruktur internal Google. Kami tidak memperkirakan akan ada 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.18.0'
}
Ekstensi AWS KMS
Ekstensi AWS KMS Tink Java adalah tink-java-awskms dengan 1.11.0 sebagai rilis terbaru.
Maven
Anda dapat menyertakan ekstensi Tink Java AWS KMS menggunakan Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Artefak rilis Maven
Anda dapat menginstal artefak Maven com.google.crypto.tink:tink-awskms
bersama com.google.crypto.tink:tink
menggunakan alat
rules_jvm_external
.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.18.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Membangun dari sumber
Jika Anda ingin mem-build tink-awskms
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/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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",
],
)
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 Tink Java Google Cloud KMS 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-gcpkms
bersama com.google.crypto.tink:tink
menggunakan alat
rules_jvm_external
.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.18.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Membangun dari sumber
Jika Anda 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/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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 Java Tink
Library Tink Java Apps menyediakan penerapan untuk Token Metode Pembayaran Google, Verifikasi Sisi Server Iklan Reward Google AdMob, dan RFC 8291 - Message Encryption for Web Push dengan 1.12.2 sebagai rilis terbaru.
Maven
Anda dapat menyertakan library Aplikasi Java Tink menggunakan Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.12.2</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.12.2</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.12.2</version>
</dependency>
Bazel
Anda dapat menginstal artefak Maven com.google.crypto.tink:apps-*
mana pun menggunakan alat rules_jvm_external
.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:apps-webpush:1.12.2",
"com.google.crypto.tink:apps-paymentmethodtoken:1.12.2",
"com.google.crypto.tink:apps-rewardedads:1.12.2",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Langkah berikutnya
Setelah Anda selesai menyiapkan Tink, lanjutkan dengan langkah-langkah penggunaan Tink standar:
- Pilih primitif – Tentukan primitif yang akan digunakan berdasarkan kasus penggunaan Anda
- Mengelola kunci – Lindungi kunci Anda dengan KMS eksternal, buat set kunci, dan rotasi kunci Anda