หลังจากติดตั้งและตั้งค่า Tink แล้ว ให้ทำตามขั้นตอนถัดไป
Tink Java
ไลบรารี Java หลักคือ tink-java โดยมีเวอร์ชันล่าสุดเป็น 1.18.0 Tink Java รองรับ Java 11 ขึ้นไป
Maven
คุณรวม Tink Java ได้โดยใช้ Maven ดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.18.0</version>
</dependency>
Bazel
อาร์ติแฟกต์การเผยแพร่ Maven
วิธีที่แนะนำสำหรับผู้ใช้ Bazel ในการเพิ่ม Tink Java เป็น
การอ้างอิงคือการติดตั้งอาร์ติแฟกต์รุ่น Maven โดยใช้เครื่องมือ rules_jvm_external
ในไฟล์ 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",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-java
จากแหล่งที่มา เช่น เพื่อปักหมุดคอมมิตที่เฉพาะเจาะจง
คุณสามารถรวมไว้เป็น http_archive
ในไฟล์ 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
ไลบรารีหลักของ Android คือ tink-java โดยมี 1.18.0 เป็นเวอร์ชันล่าสุด
Tink Android รองรับอย่างเต็มรูปแบบตั้งแต่ API ระดับ 24 เป็นต้นไป ส่วนใหญ่ของ Tink คาดว่าจะทำงานได้ตั้งแต่ API ระดับ 23 ขึ้นไป ส่วนที่ Tink ไม่ทำงานทันทีเมื่อใช้ API ระดับ 23 มีดังนี้
ไลบรารี JWT ต้องใช้ API ระดับ 24 เนื่องจากใช้คลาสต่างๆ เช่น
java.util.Optional
คุณหลีกเลี่ยงข้อจำกัดนี้ได้ด้วยการยกเลิกการเพิ่มน้ำตาลAPI บางรายการใน
com.google.crypto.tink.streamingaead
useSeekableByteBufferChannel
ซึ่งใช้ได้ตั้งแต่ API ระดับ 24 ขึ้นไปเท่านั้น
เนื่องด้วยเหตุผลทางเทคนิค เราจึงทดสอบ Tink ใน Android บนโครงสร้างพื้นฐานภายในของ Google เท่านั้น เราไม่คาดว่าจะมีปัญหาใดๆ จากการดำเนินการนี้ แต่หากคุณพบปัญหา โปรดรายงานปัญหา
Tink Android ไม่ต้องมีการกำหนดค่า ProGuard
Gradle
คุณใช้ tink-android
จาก Gradle ได้ดังนี้
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.18.0'
}
ส่วนขยาย AWS KMS
ส่วนขยาย Tink Java AWS KMS คือ tink-java-awskms โดยมี 1.11.0 เป็นเวอร์ชันล่าสุด ที่เผยแพร่
Maven
คุณสามารถรวมส่วนขยาย Tink Java AWS KMS ได้โดยใช้ Maven ดังนี้
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
อาร์ติแฟกต์การเผยแพร่ Maven
คุณสามารถติดตั้ง com.google.crypto.tink:tink-awskms
Maven artifact
พร้อมกับ com.google.crypto.tink:tink
ได้โดยใช้เครื่องมือ 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",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-awskms
จากแหล่งที่มา เช่น เพื่อปักหมุดคอมมิตที่เฉพาะเจาะจง คุณสามารถรวมไว้เป็น http_archive
ในไฟล์ 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",
],
)
ส่วนขยาย Google Cloud KMS
ส่วนขยาย Tink Java Google Cloud KMS คือ tink-java-gcpkms โดยมี 1.10.0 เป็นเวอร์ชันล่าสุด
Maven
คุณสามารถรวมส่วนขยาย Tink Java Google Cloud KMS ได้โดยใช้ Maven ดังนี้
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
อาร์ติแฟกต์การเผยแพร่ Maven
คุณสามารถติดตั้ง com.google.crypto.tink:tink-gcpkms
Maven artifact
พร้อมกับ com.google.crypto.tink:tink
ได้โดยใช้เครื่องมือ 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",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-gcpkms
จากแหล่งที่มา เช่น เพื่อปักหมุดคอมมิตที่เฉพาะเจาะจง คุณสามารถรวมไว้เป็น http_archive
ในไฟล์ 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",
],
)
แอป Tink Java
ไลบรารี Tink Java Apps มีการติดตั้งใช้งานสำหรับ Google Payment Method Token การยืนยันฝั่งเซิร์ฟเวอร์ของโฆษณาที่มีการให้รางวัลของ Google AdMob และ RFC 8291 - การเข้ารหัสข้อความสำหรับ Web Push โดยมี 1.12.2 เป็นรุ่นล่าสุด
Maven
คุณสามารถรวมไลบรารีแอป Java ของ Tink ได้โดยใช้ 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
คุณติดตั้งอาร์ติแฟกต์ Maven ของ com.google.crypto.tink:apps-*
ได้โดยใช้เครื่องมือ 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",
],
)
ขั้นตอนถัดไป
เมื่อตั้งค่า Tink เสร็จแล้ว ให้ทำตามขั้นตอนการใช้งาน Tink มาตรฐานต่อไปนี้
- เลือกองค์ประกอบพื้นฐาน - ตัดสินใจเลือกองค์ประกอบพื้นฐานที่จะใช้ตามกรณีการใช้งาน
- จัดการคีย์ - ปกป้องคีย์ด้วย KMS ภายนอก สร้างชุดคีย์ และหมุนเวียนคีย์