หลังจากติดตั้งและตั้งค่า 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
ส่วนขยาย 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.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
ส่วนขยาย Google Cloud KMS ของ Tink Java คือ 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.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 Payment Method Token การยืนยันฝั่งเซิร์ฟเวอร์ของโฆษณาที่มีการให้รางวัลของ Google AdMob และ RFC 8291 - การเข้ารหัสข้อความสำหรับ Web Push โดยมี 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 มาตรฐานต่อไปนี้
- เลือกองค์ประกอบพื้นฐาน - ตัดสินใจเลือกองค์ประกอบพื้นฐานที่จะใช้ตามกรณีการใช้งาน
- จัดการคีย์ - ปกป้องคีย์ด้วย KMS ภายนอก สร้างชุดคีย์ และหมุนเวียนคีย์