Sau khi cài đặt và thiết lập Tink, hãy tiếp tục với phần Các bước tiếp theo.
Tink Java
Thư viện Java cốt lõi là tink-java với 1.18.0 là bản phát hành mới nhất. Tink Java hỗ trợ Java 11 trở lên.
Maven
Bạn có thể thêm Tink Java bằng Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.18.0</version>
</dependency>
Bazel
Cấu phần phần mềm phát hành Maven
Cách mà người dùng Bazel nên dùng để thêm Tink Java làm phần phụ thuộc là 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.18.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Tạo từ nguồn
Nếu muốn tạo tink-java
từ nguồn, chẳng hạn như để ghim một cam kết cụ thể, bạn có thể đưa cam kết đó 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 1.18.0 là bản phát hành mới nhất.
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 từ API cấp 23. Những phần mà Tink không chạy ngay khi xuất xưởng với API cấp 23 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 desugaring.Một số API trong
com.google.crypto.tink.streamingaead
sử dụngSeekableByteBufferChannel
. API này chỉ có từ API cấp 24.
Vì 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 đề gì, nhưng nếu bạn gặp phải 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.18.0'
}
Tiện ích AWS KMS
Tiện ích Tink Java AWS KMS là tink-java-awskms với 1.11.0 là bản phát hành mới nhất.
Maven
Bạn có thể thêm tiện ích Tink Java AWS KMS 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 com.google.crypto.tink:tink-awskms
Maven 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.18.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Tạo từ nguồn
Nếu muốn tạo tink-awskms
từ nguồn, chẳng hạn như để ghim một cam kết cụ thể, bạn có thể đưa cam kết đó 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.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",
],
)
Tiện ích Google Cloud KMS
Tiện ích Tink Java Google Cloud KMS là tink-java-gcpkms với 1.10.0 là bản phát hành mới nhất.
Maven
Bạn có thể thêm tiện ích Tink Java Google Cloud KMS 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 com.google.crypto.tink:tink-gcpkms
Maven 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.18.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Tạo từ nguồn
Nếu muốn tạo tink-gcpkms
từ nguồn, chẳng hạn như để ghim một cam kết cụ thể, bạn có thể đưa cam kết đó 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.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",
],
)
Ứng dụng Java của Tink
Thư viện Tink Java Apps 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 thông báo đẩy trên web với 1.12.2 là phiên bản mới nhất.
Maven
Bạn có thể thêm thư viện Ứng dụng Java của Tink bằng 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
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.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",
],
)
Các bước tiếp theo
Sau khi bạn hoàn tất việc thiết lập Tink, hãy tiếp tục với các bước sử dụng Tink tiêu chuẩn:
- Chọn một thành phần cơ bản – Quyết định sử dụng thành phần cơ bản 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 bộ khoá và xoay vòng khoá