หลังจากติดตั้งและตั้งค่า Tink แล้ว ให้ทำตามขั้นตอนถัดไป
Tink Java
ไลบรารี Java หลักคือ tink-java โดยมีเวอร์ชันล่าสุดเป็น 1.22.0 Tink Java รองรับ Java 11 ขึ้นไป
Maven
คุณรวม Tink Java ได้โดยใช้ Maven ดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.22.0</version>
</dependency>
Bazel
ผู้ใช้ Bazel สามารถเพิ่ม Tink Java เป็นทรัพยากร Dependency ได้โดย
เพิ่มข้อมูลต่อไปนี้ในไฟล์ MODULE.bazel
bazel_dep(name = "tink_java", version = "1.22.0")
git_override(
module_name = "tink_java",
remote = "https://github.com/tink-crypto/tink-java",
tag = "v1.22.0",
)
Tink Android
ไลบรารีหลักของ Android คือ tink-java โดยมี 1.22.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.22.0'
}
ส่วนขยาย AWS KMS
ส่วนขยาย AWS KMS ของ Tink Java คือ 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
คุณติดตั้ง 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.22.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.11.0 เป็นรุ่นล่าสุด
Maven
คุณสามารถรวมส่วนขยาย Tink Java Google Cloud KMS ได้โดยใช้ Maven ดังนี้
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.11.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.22.0",
"com.google.crypto.tink:tink-gcpkms:1.11.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.22.0.zip],
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.22.0/tink-java-1.22.0.zip"],
strip_prefix = "tink-java-1.22.0",
sha256 = "94d73be03a03a8c59914f643eb29b1df52bef5e45e67a4e46800b84e24240ffb",
)
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/archive/refs/tags/v1.11.0.zip"],
strip_prefix = "tink-java-gcpkms-1.11.0",
sha256 = "dc64ce1aa013f2c21fdb877a47356564ebbd99201afdb1a1c88fe5252f54a3e9",
)
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 - การเข้ารหัสข้อความสำหรับการแจ้งเตือนแบบพุชบนเว็บ โดยมี 1.14.0 เป็นเวอร์ชันล่าสุด
Maven
คุณสามารถรวมไลบรารีแอป Java ของ Tink ได้โดยใช้ 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 ใดตาม Use Case ของคุณ
- จัดการคีย์ - ปกป้องคีย์ด้วย KMS ภายนอก สร้างชุดคีย์ และหมุนเวียนคีย์