بعد تثبيت Tink وإعداده، يمكنك المتابعة إلى الخطوات التالية.
Tink Java
مكتبة Java الأساسية هي tink-java وأحدث إصدار لها هو 1.18.0. تتوافق مكتبة Tink Java مع الإصدار 11 من Java أو إصدار أحدث.
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 بالكامل مع المستوى 24 من واجهة برمجة التطبيقات والإصدارات الأحدث. من المتوقّع أن تعمل معظم أجزاء Tink بدءًا من المستوى 23 لواجهة برمجة التطبيقات. الأجزاء التي لا تعمل فيها Tink تلقائيًا مع مستوى واجهة برمجة التطبيقات 23 هي:
تتطلّب مكتبة JWT مستوى واجهة برمجة التطبيقات 24 لأنّها تستخدم فئات مثل
java.util.Optional
. يمكن تجنُّب هذا القيد باستخدام إزالة التكرار.تستخدم بعض واجهات برمجة التطبيقات في
com.google.crypto.tink.streamingaead
SeekableByteBufferChannel
، وهي متاحة فقط من مستوى واجهة برمجة التطبيقات 24.
لأسباب فنية، نختبر Tink على أجهزة Android فقط على البنية الأساسية الداخلية في Google. لا نتوقّع حدوث أي مشاكل بسبب ذلك، ولكن إذا واجهت أي مشاكل، يُرجى إبلاغنا بها.
لا يتطلّب Tink Android أي إعدادات Proguard.
Gradle
يمكنك استخدام tink-android
من Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.18.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.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
امتداد 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.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
توفّر مكتبة تطبيقات Java في Tink عمليات تنفيذ رمز طريقة الدفع من Google والتحقّق من صحة الإعلانات مقابل مكافآت في Google AdMob من جهة الخادم وRFC 8291 - تشفير الرسائل لإشعارات الويب، علمًا بأنّ 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
يمكنك تثبيت أي من عناصر com.google.crypto.tink:apps-*
Maven
باستخدام أداة 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، يمكنك مواصلة خطوات الاستخدام العادية:
- اختيار عنصر أساسي: حدِّد العنصر الأساسي الذي تريد استخدامه استنادًا إلى حالة الاستخدام.
- إدارة المفاتيح: لحماية مفاتيحك باستخدام نظام إدارة المفاتيح الخارجي، وإنشاء مجموعات مفاتيح، وتدوير مفاتيحك