Setelah menginstal dan menyiapkan Tink, lanjutkan dengan Langkah Berikutnya.
Tink Java
Library Java inti adalah tink-java dengan 1.16.0 sebagai rilis terbaru. Tink Java mendukung Java 8 atau yang lebih baru.
Maven
Anda dapat menyertakan Tink Java menggunakan Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.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
dalam 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.16.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Mem-build dari sumber
Jika 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.16.0 sebagai rilis terbaru.
Tink Android didukung sepenuhnya mulai dari API level 24. Sebagian besar bagian Tink diharapkan berfungsi mulai dari API level 21. Bagian tempat Tink tidak berjalan secara otomatis dengan API level 21 adalah:
Library JWT memerlukan API level 24 karena menggunakan class seperti
java.util.Optional
. Batasan ini dapat dihindari dengan desugaring.Class di
com.google.crypto.tink.integration.android
hanya diuji sepenuhnya mulai dari API level 23.Beberapa API di
com.google.crypto.tink.streamingaead
menggunakanSeekableByteBufferChannel
yang hanya tersedia dari API level 24.
Karena alasan teknis, kami hanya menguji Tink di Android pada infrastruktur internal Google. Kami tidak memperkirakan masalah apa pun karena hal ini, tetapi jika Anda mengalami masalah, harap laporkan masalah.
Tink Android tidak memerlukan konfigurasi proguard.
Gradle
Anda dapat menggunakan tink-android
dari Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.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.16.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Mem-build dari sumber
Jika 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.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",
],
)
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-gcpkms
bersama com.google.crypto.tink:tink
menggunakan
alat rules_jvm_external
.
# ...
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",
],
)
Mem-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/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",
],
)
Aplikasi Java Tink
Library Aplikasi Java Tink menyediakan implementasi untuk Token Metode Pembayaran Google, Verifikasi Sisi Server untuk Iklan Berimbalan Google AdMob, dan RFC 8291 - Enkripsi Pesan untuk Web Push dengan 1.11.0 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.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>
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.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",
],
)
Langkah berikutnya
Setelah selesai menyiapkan Tink, lanjutkan dengan langkah-langkah penggunaan Tink standar:
- Memilih primitif – Tentukan primitif yang akan digunakan berdasarkan kasus penggunaan Anda
- Mengelola kunci – Melindungi kunci dengan KMS eksternal, membuat kumpulan kunci, dan memutar kunci