หลังจากติดตั้งและตั้งค่า Tink แล้ว ให้ทำตามขั้นตอนถัดไป
Tink Java
ไลบรารี Java หลักคือ tink-java ซึ่งมี 1.16.0 เป็นรุ่นล่าสุด Tink Javaรองรับ Java 8 ขึ้นไป
Maven
คุณรวม Tink Java โดยใช้ Maven ได้ดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.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.16.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-java
จากซอร์สโค้ด เช่น เพื่อปักหมุดการคอมมิตที่เฉพาะเจาะจง คุณสามารถรวม tink-java
ไว้ในไฟล์ WORKSPACE
ได้โดยทำดังนี้http_archive
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.16.0 เป็นเวอร์ชันล่าสุด
Tink Android ใช้งานได้อย่างเต็มรูปแบบตั้งแต่ API ระดับ 24 เป็นต้นไป คาดว่าส่วนต่างๆ ของ Tink จะทํางานได้ตั้งแต่ API ระดับ 21 เป็นต้นไป ส่วนต่างๆ ที่ Tink ไม่สามารถทํางานได้ทันทีเมื่อใช้ API ระดับ 21 มีดังนี้
ไลบรารี JWT ต้องใช้ API ระดับ 24 เนื่องจากใช้คลาสต่างๆ เช่น
java.util.Optional
ข้อจำกัดนี้สามารถหลีกเลี่ยงได้ด้วยการกรองน้ำตาลออกคลาสใน
com.google.crypto.tink.integration.android
ได้รับการทดสอบอย่างเต็มรูปแบบตั้งแต่ API ระดับ 23 เท่านั้นAPI บางรายการใน
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.16.0'
}
ส่วนขยาย AWS KMS
ส่วนขยาย AWS KMS ของ Tink Java คือ 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
ควบคู่ไปกับ com.google.crypto.tink:tink
โดยใช้เครื่องมือ rules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.16.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-awskms
จากซอร์สโค้ด เช่น เพื่อปักหมุดการคอมมิตที่เฉพาะเจาะจง คุณสามารถรวม tink-awskms
ไว้ในไฟล์ WORKSPACE
ของคุณได้ ดังนี้http_archive
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
strip_prefix = "tink-java-1.16.0",
sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)
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
ส่วนขยาย 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
ควบคู่ไปกับ com.google.crypto.tink:tink
โดยใช้เครื่องมือ rules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.16.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
สร้างจากซอร์ส
หากต้องการสร้าง tink-gcpkms
จากซอร์สโค้ด เช่น เพื่อปักหมุดการคอมมิตที่เฉพาะเจาะจง คุณสามารถรวม tink-gcpkms
ไว้ในไฟล์ WORKSPACE
ของคุณได้ ดังนี้http_archive
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
strip_prefix = "tink-java-1.16.0",
sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)
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",
],
)
แอป Java ของ Tink
ไลบรารี Tink Java Apps ให้บริการติดตั้งใช้งานสำหรับ Google Payment Method Token, การยืนยันฝั่งเซิร์ฟเวอร์ของโฆษณาที่มีการให้รางวัลของ Google AdMob และ RFC 8291 - การเข้ารหัสข้อความสําหรับ Web Push โดยมี 1.11.0 เป็นรุ่นล่าสุด
Maven
คุณรวมไลบรารีแอป Java ของ Tink โดยใช้ Maven ได้โดยทำดังนี้
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.11.0</version>
</dependency>
Bazel
คุณสามารถติดตั้งcom.google.crypto.tink:apps-*
อาร์ติแฟกต์ Maven รายการใดก็ได้โดยใช้เครื่องมือ rules_jvm_external
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:apps-webpush:1.11.0",
"com.google.crypto.tink:apps-paymentmethodtoken:1.11.0",
"com.google.crypto.tink:apps-rewardedads:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
ขั้นตอนถัดไป
เมื่อตั้งค่า Tink เสร็จแล้ว ให้ทำตามขั้นตอนการใช้งาน Tink มาตรฐานต่อไปนี้
- เลือกพรอมต์ - เลือกพรอมต์ที่จะใช้ตามกรณีการใช้งาน
- จัดการคีย์ - ปกป้องคีย์ด้วย KMS ภายนอก สร้างชุดคีย์ และหมุนเวียนคีย์