بعد تثبيت 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
من المصدر، على سبيل المثال لتثبيت
تعهّد معيّن، يمكنك تضمينه كملف 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.16.0 هو أحدث إصدار منها.
تتوفّر خدمة Tink Android بالكامل اعتبارًا من المستوى 24 لواجهة برمجة التطبيقات. من المتوقّع أن تعمل معظم أجزاء Tink بدءًا من المستوى 21 من واجهة برمجة التطبيقات. في ما يلي الأجزاء التي لا تعمل فيها أداة Tink بشكل تلقائي مع مستوى واجهة برمجة التطبيقات 21:
تتطلّب مكتبة JWT مستوى واجهة برمجة التطبيقات 24 لأنّها تستخدِم فئات مثل
java.util.Optional
. يمكن تجنُّب هذا القيد من خلال إزالة السكر.لا يتم اختبار الفئات في
com.google.crypto.tink.integration.android
بالكامل إلا بدءًا من المستوى 23 من واجهة برمجة التطبيقات.تستخدِم بعض واجهات برمجة التطبيقات في
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.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
من المصدر، على سبيل المثال لتثبيت
تعهُّد معيّن، يمكنك تضمينه كملف http_archive
في ملف WORKSPACE
:
# ...
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
امتداد 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
يمكنك تثبيت 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
من المصدر، على سبيل المثال لتثبيت
تعهُّد معيّن، يمكنك تضمينه كملف http_archive
في ملف WORKSPACE
:
# ...
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",
],
)
تطبيقات Tink Java
توفّر مكتبة Tink Java Apps عمليات تنفيذ رمز مفتاح طريقة الدفع من Google، التحقّق من جهة الخادم للإعلانات التي تضم مكافآت من AdMob، RFC 8291 - تشفير الرسائل لرسائل Web Push مع 1.11.0 كأحدث إصدار.
Maven
يمكنك تضمين مكتبة تطبيقات Tink Java باستخدام 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) الخارجي، وإنشاء مجموعات مفاتيح، وتبديل مفاتيحك.