إعداد Tink Java

بعد تثبيت Tink وإعداده، يمكنك الانتقال إلى الخطوات التالية.

Tink Java

مكتبة Java الأساسية هي tink-java، وأحدث إصدار لها هو 1.21.0. تتوافق مكتبة Tink Java مع الإصدار 11 من Java أو إصدار أحدث.

Maven

يمكنك تضمين Tink Java باستخدام Maven:

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.21.0</version>
</dependency>

Bazel

يمكن لمستخدمي Bazel إضافة Tink Java كعنصر تابع من خلال إضافة ما يلي إلى ملف 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 بشكل كامل مع المستوى 24 من واجهة برمجة التطبيقات والإصدارات الأحدث. من المتوقّع أن تعمل معظم أجزاء Tink بدءًا من المستوى 23 لواجهة برمجة التطبيقات. في ما يلي الأجزاء التي لا يمكن استخدامها مباشرةً مع المستوى 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.21.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.21.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.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_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.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

توفّر مكتبة تطبيقات Java في Tink عمليات تنفيذ رمز مميّز لطريقة الدفع في Google وعملية تحقّق من جهة الخادم للإعلانات مقابل مكافآت في 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

يمكنك تثبيت أي من عناصر com.google.crypto.tink:apps-* Maven باستخدام أداة 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) وإنشاء مجموعات مفاتيح وتدوير مفاتيحك.