Sau khi cài đặt và thiết lập Tink, hãy tiếp tục với Các bước tiếp theo.
Tink Java
Thư viện Java cốt lõi là tink-java với bản phát hành mới nhất là 1.16.0. Tink Java hỗ trợ Java 8 trở lên.
Maven
Bạn có thể đưa Tink Java vào bằng Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.0</version>
</dependency>
Bazel
Cấu phần phần mềm phát hành Maven
Người dùng Bazel nên thêm Tink Java làm phần phụ thuộc bằng cách cài đặt cấu phần phần mềm phát hành Maven bằng công cụ rules_jvm_external
trong tệp 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",
],
)
Tạo bản dựng từ nguồn
Nếu muốn tạo tink-java
từ nguồn, chẳng hạn như để ghim một thay đổi cụ thể, bạn có thể đưa thay đổi đó vào dưới dạng http_archive
trong tệp 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
Thư viện Android cốt lõi là tink-java với bản phát hành mới nhất là 1.16.0.
Tink Android được hỗ trợ đầy đủ kể từ API cấp 24. Hầu hết các phần của Tink dự kiến sẽ hoạt động kể từ API cấp 21. Những phần mà Tink không chạy ngay từ đầu với API cấp 21 là:
Thư viện JWT yêu cầu API cấp 24 vì thư viện này sử dụng các lớp như
java.util.Optional
. Bạn có thể tránh được hạn chế này bằng cách đơn giản hoá.Các lớp trong
com.google.crypto.tink.integration.android
chỉ được kiểm thử đầy đủ kể từ API cấp 23.Một số API trong
com.google.crypto.tink.streamingaead
sử dụngSeekableByteBufferChannel
chỉ có trong API cấp 24.
Do lý do kỹ thuật, chúng tôi chỉ kiểm thử Tink trên Android trên cơ sở hạ tầng nội bộ của Google. Chúng tôi không cho rằng việc này sẽ gây ra vấn đề nào, nhưng nếu bạn gặp vấn đề, vui lòng báo cáo vấn đề.
Tink Android không yêu cầu cấu hình proguard.
Gradle
Bạn có thể sử dụng tink-android
từ Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.0'
}
Tiện ích AWS KMS
Tiện ích AWS KMS của Tink Java là tink-java-awskms với bản phát hành mới nhất là 1.11.0.
Maven
Bạn có thể đưa tiện ích Tink Java AWS KMS vào bằng cách sử dụng Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Cấu phần phần mềm phát hành Maven
Bạn có thể cài đặt cấu phần phần mềm Maven com.google.crypto.tink:tink-awskms
cùng với com.google.crypto.tink:tink
bằng công cụ 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",
],
)
Tạo bản dựng từ nguồn
Nếu muốn tạo tink-awskms
từ nguồn, chẳng hạn như để ghim một thay đổi cụ thể, bạn có thể đưa thay đổi đó vào dưới dạng http_archive
trong tệp 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",
],
)
Tiện ích Google Cloud KMS
Tiện ích Google Cloud KMS của Tink Java là tink-java-gcpkms với bản phát hành mới nhất là 1.10.0.
Maven
Bạn có thể đưa tiện ích Tink Java Google Cloud KMS vào bằng cách sử dụng Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
Cấu phần phần mềm phát hành Maven
Bạn có thể cài đặt cấu phần phần mềm Maven com.google.crypto.tink:tink-gcpkms
cùng với com.google.crypto.tink:tink
bằng công cụ 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",
],
)
Tạo bản dựng từ nguồn
Nếu muốn tạo tink-gcpkms
từ nguồn, chẳng hạn như để ghim một thay đổi cụ thể, bạn có thể đưa thay đổi đó vào dưới dạng http_archive
trong tệp 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",
],
)
Ứng dụng Java của Tink
Thư viện Ứng dụng Java Tink cung cấp các phương thức triển khai cho Mã thông báo phương thức thanh toán của Google, Xác minh phía máy chủ của quảng cáo có tặng thưởng của Google AdMob và RFC 8291 – Mã hoá thông báo cho Web Push với bản phát hành mới nhất là 1.11.0.
Maven
Bạn có thể đưa thư viện Ứng dụng Java của Tink vào bằng cách sử dụng 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
Bạn có thể cài đặt bất kỳ cấu phần phần mềm Maven com.google.crypto.tink:apps-*
nào bằng công cụ 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",
],
)
Các bước tiếp theo
Sau khi hoàn tất việc thiết lập Tink, hãy tiếp tục các bước sử dụng Tink tiêu chuẩn:
- Chọn một đối tượng gốc – Quyết định sử dụng đối tượng gốc nào dựa trên trường hợp sử dụng của bạn
- Quản lý khoá – Bảo vệ khoá bằng KMS bên ngoài, tạo nhóm khoá và xoay vòng khoá