หลังจากติดตั้งและตั้งค่า Tink แล้ว ให้ทำตามขั้นตอนถัดไป
Tink Java
ไลบรารี Java หลักคือ tink-java โดยเวอร์ชันล่าสุดคือ 1.21.0 Tink Java รองรับ Java 11 ขึ้นไป
Maven
คุณสามารถรวม Tink Java โดยใช้ Maven ได้ดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.21.0</version>
</dependency>
Bazel
ผู้ใช้ Bazel สามารถเพิ่ม Tink Java เป็นทรัพยากร Dependency ได้โดย
เพิ่มข้อมูลต่อไปนี้ในไฟล์ MODULE.bazel
bazel_dep(name = "tink_java", version = "1.21.0")
git_override(
module_name = "tink_java",
remote = "https://github.com/tink-crypto/tink-java",
tag = "v1.21.0",
)
Tink Android
ไลบรารี Android หลักคือ tink-java โดยเวอร์ชันล่าสุดคือ 1.21.0
Tink Android ได้รับการรองรับอย่างเต็มรูปแบบตั้งแต่ระดับ API 24 เป็นต้นไป ส่วนใหญ่ของ Tink คาดว่าจะทำงานได้ตั้งแต่ API ระดับ 23 เป็นต้นไป ส่วนที่ Tink ไม่ทำงานทันทีด้วยระดับ API 23 ได้แก่
ไลบรารี JWT ต้องใช้ API ระดับ 24 เนื่องจากใช้คลาสต่างๆ เช่น
java.util.Optionalคุณสามารถหลีกเลี่ยงข้อจำกัดนี้ได้ด้วยการ กระบวนการ DesugaringAPI บางรายการใน
com.google.crypto.tink.streamingaeadใช้SeekableByteBufferChannelซึ่งพร้อมใช้งานตั้งแต่ API ระดับ 24 เป็นต้นไป
เนื่องจากเหตุผลทางเทคนิค เราจึงทดสอบ Tink ใน Android บนโครงสร้างพื้นฐานภายในของ Google เท่านั้น เราไม่คาดว่าจะเกิดปัญหาใดๆ จากเรื่องนี้ แต่หากพบปัญหา โปรดรายงานปัญหา
Tink Android ไม่ต้องมีการกำหนดค่า Proguard
Gradle
คุณสามารถใช้ tink-android จาก Gradle ได้ดังนี้
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.21.0'
}
ส่วนขยาย AWS KMS
ส่วนขยาย Tink Java AWS KMS คือ tink-java-awskms โดยเวอร์ชันล่าสุดคือ 2.0.0
Maven
คุณสามารถรวมส่วนขยาย Tink Java AWS KMS โดยใช้ Mavenได้ดังนี้
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
Bazel
อาร์ติแฟกต์รุ่น Maven
คุณสามารถติดตั้งอาร์ติแฟกต์ Maven com.google.crypto.tink:tink-awskmsควบคู่กับ com.google.crypto.tink:tink โดยใช้เครื่องมือrules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.21.0",
"com.google.crypto.tink:tink-awskms:2.0.0",
# ... 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
คุณสามารถติดตั้งอาร์ติแฟกต์ Maven com.google.crypto.tink:tink-gcpkmsควบคู่กับ com.google.crypto.tink:tink โดยใช้เครื่องมือ
rules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.21.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/archive/refs/tags/v1.21.0.zip],
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.21.0/tink-java-1.21.0.zip"],
strip_prefix = "tink-java-1.21.0",
sha256 = "771051851184047a3fdfbe2aca552e00c2984ac4a596951a7ad1ea8837b178da",
)
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, การยืนยันฝั่งเซิร์ฟเวอร์ของโฆษณาวิดีโอที่มีการให้รางวัลของ Google AdMob และ RFC 8291 - การเข้ารหัสข้อความสำหรับการแจ้งเตือนแบบพุชบนเว็บ โดยเวอร์ชันล่าสุดคือ 1.14.0
Maven
คุณสามารถรวมไลบรารีแอป Tink Java โดยใช้ Mavenได้ดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.14.0</version>
</dependency>
Bazel
คุณสามารถติดตั้งอาร์ติแฟกต์ Maven com.google.crypto.tink:apps-* รายการใดก็ได้
โดยใช้เครื่องมือ rules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:apps-webpush:1.14.0",
"com.google.crypto.tink:apps-paymentmethodtoken:1.14.0",
"com.google.crypto.tink:apps-rewardedads:1.14.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
ขั้นตอนถัดไป
เมื่อตั้งค่า Tink เสร็จแล้ว ให้ทำตามขั้นตอนการใช้งาน Tink มาตรฐานดังนี้
- เลือก Primitive - เลือก Primitive ที่จะ ใช้ตามกรณีการใช้งาน
- จัดการคีย์ - ปกป้องคีย์ด้วย KMS ภายนอก สร้างชุดคีย์ และหมุนเวียนคีย์