Tink Java सेट अप करना

Tink को इंस्टॉल और सेट अप करने के बाद, अगले चरण पर जाएं.

Java के लिए Tink

Java के लिए मुख्य लाइब्रेरी, tink-java है. इसका सबसे नया वर्शन 1.21.0 है. Java के लिए Tink, Java 11 या उसके बाद के वर्शन के साथ काम करता है.

Maven

Maven का इस्तेमाल करके, Java के लिए Tink को शामिल किया जा सकता है:

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

Bazel

Bazel का इस्तेमाल करने वाले लोग या कंपनियां, Java के लिए Tink को डिपेंडेंसी के तौर पर जोड़ सकती हैं. इसके लिए, उन्हें अपनी फ़ाइल में यह जानकारी जोड़नी होगी: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",
  )

Android के लिए Tink

Android के लिए मुख्य लाइब्रेरी, tink-java है. इसका सबसे नया वर्शन 1.21.0 है.

Android के लिए Tink, एपीआई लेवल 24 से पूरी तरह काम करता है. उम्मीद है कि Tink के ज़्यादातर हिस्से, एपीआई लेवल 23 से काम करेंगे. एपीआई लेवल 23 के साथ, Tink के ये हिस्से तुरंत काम नहीं करते:

  • JWT लाइब्रेरी के लिए, एपीआई लेवल 24 की ज़रूरत होती है, क्योंकि यह java.util.Optional जैसी क्लास का इस्तेमाल करती है. desugaring की मदद से, इस समस्या से बचा जा सकता है.

  • com.google.crypto.tink.streamingaead में मौजूद कुछ एपीआई, SeekableByteBufferChannel का इस्तेमाल करते हैं. यह सिर्फ़ एपीआई लेवल 24 से उपलब्ध है.

तकनीकी वजहों से, हम सिर्फ़ Google के इंटरनल इंफ़्रास्ट्रक्चर पर, Android के लिए Tink की जांच करते हैं. हमें नहीं लगता कि इसकी वजह से कोई समस्या होगी. हालांकि, अगर आपको कोई समस्या आती है, तो कृपया समस्या की शिकायत करें.

Android के लिए Tink को proguard कॉन्फ़िगरेशन की ज़रूरत नहीं होती.

Gradle

आप Gradle से tink-android का इस्तेमाल कर सकते हैं:

dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.21.0'
}

AWS KMS एक्सटेंशन

Java के लिए Tink का AWS KMS एक्सटेंशन, tink-java-awskms है. इसका सबसे नया वर्शन 2.0.0 है.

Maven

Maven का इस्तेमाल करके, Java के लिए Tink के AWS KMS एक्सटेंशन को शामिल किया जा सकता है: Maven:

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-awskms</artifactId>
    <version>2.0.0</version>
  </dependency>
</dependencies>

Bazel

Maven रिलीज़ आर्टफ़ैक्ट

rules_jvm_external टूल का इस्तेमाल करके, com.google.crypto.tink:tink के साथ-साथ com.google.crypto.tink:tink-awskms Maven आर्टफ़ैक्ट को इंस्टॉल किया जा सकता है.

# ...

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 एक्सटेंशन

Java के लिए Tink का Google Cloud KMS एक्सटेंशन, tink-java-gcpkms है. इसका सबसे नया वर्शन 1.10.0 है.

Maven

Maven का इस्तेमाल करके, Java के लिए Tink के 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 रिलीज़ आर्टफ़ैक्ट

rules_jvm_external टूल का इस्तेमाल करके, com.google.crypto.tink:tink के साथ-साथ com.google.crypto.tink:tink-gcpkms Maven आर्टफ़ैक्ट को इंस्टॉल किया जा सकता है.

# ...

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 बनाना है, तो उदाहरण के लिए, किसी खास कमिट को पिन करने के लिए, इसे अपनी WORKSPACE फ़ाइल में http_archive के तौर पर शामिल किया जा सकता है:

# ...

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",
    ],
)

Java के लिए Tink का इस्तेमाल करने वाले ऐप्लिकेशन

Java के लिए Tink का इस्तेमाल करने वाले ऐप्लिकेशन की लाइब्रेरी, Google Payment Method Token, Google AdMob के इनाम वाले विज्ञापनों की सर्वर-साइड पुष्टि, और RFC 8291 - वेब पुश के लिए मैसेज एन्क्रिप्ट करने की सुविधा उपलब्ध कराती है. इसका सबसे नया वर्शन 1.14.0 है.

Maven

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

rules_jvm_external टूल का इस्तेमाल करके, com.google.crypto.tink:apps-* के किसी भी Maven आर्टफ़ैक्ट को इंस्टॉल किया जा सकता है.

# ...

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 के सामान्य इस्तेमाल के चरणों पर जाएं:

  • कोई प्रिमिटिव चुनें – तय करें कि आपको अपने इस्तेमाल के उदाहरण के आधार पर, किस प्रिमिटिव का इस्तेमाल करना है
  • कुंजियां मैनेज करें – अपनी कुंजियों को अपने बाहरी केएमएस की मदद से सुरक्षित रखें, कीसेट जनरेट करें, और अपनी कुंजियों को रोटेट करें