Tink को इंस्टॉल और सेट अप करने के बाद, अगले चरण पर जाएं.
Tink Java
कोर Java लाइब्रेरी tink-java है. इसका सबसे नया वर्शन 1.19.0 है. Tink Java के लिए, Java 11 या इसके बाद के वर्शन की ज़रूरत होती है.
Maven
Maven का इस्तेमाल करके, Tink Java को शामिल किया जा सकता है:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.19.0</version>
</dependency>
Bazel
Bazel का इस्तेमाल करने वाले लोग, Tink Java को डिपेंडेंसी के तौर पर जोड़ सकते हैं. इसके लिए, उन्हें अपनी MODULE.bazel फ़ाइल में यह कोड जोड़ना होगा:
bazel_dep(name = "tink_java", version = "1.19.0")
git_override(
module_name = "tink_java",
remote = "https://github.com/tink-crypto/tink-java",
tag = "v1.19.0",
)
Tink Android
Android की कोर लाइब्रेरी tink-java है. इसका सबसे नया वर्शन 1.19.0 है.
Tink Android, एपीआई लेवल 24 से काम करता है. Tink के ज़्यादातर हिस्से, एपीआई लेवल 23 से काम करने लगेंगे. एपीआई लेवल 23 के साथ, Tink के ये हिस्से बॉक्स से बाहर नहीं चलते:
JWT लाइब्रेरी के लिए एपीआई लेवल 24 की ज़रूरत होती है, क्योंकि यह
java.util.Optionalजैसी क्लास का इस्तेमाल करती है. डीसुगरिंग की मदद से, इस समस्या से बचा जा सकता है.com.google.crypto.tink.streamingaeadमें कुछ एपीआईSeekableByteBufferChannelका इस्तेमाल करते हैं. यह सिर्फ़ एपीआई लेवल 24 से उपलब्ध है.
तकनीकी वजहों से, हम सिर्फ़ Google के इंटरनल इंफ़्रास्ट्रक्चर पर Android के लिए Tink की जांच करते हैं. हमें नहीं लगता कि इसकी वजह से कोई समस्या आएगी. हालांकि, अगर आपको कोई समस्या आती है, तो कृपया इसकी शिकायत करें.
Tink Android के लिए, ProGuard कॉन्फ़िगरेशन की ज़रूरत नहीं होती.
ग्रेडल
Gradle से tink-android का इस्तेमाल किया जा सकता है:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.19.0'
}
AWS KMS एक्सटेंशन
Tink Java AWS KMS एक्सटेंशन, tink-java-awskms है. इसका नया वर्शन 1.11.0 है.
Maven
Maven का इस्तेमाल करके, Tink Java AWS KMS एक्सटेंशन को शामिल किया जा सकता है:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Maven रिलीज़ आर्टफ़ैक्ट
rules_jvm_external टूल का इस्तेमाल करके, com.google.crypto.tink:tink-awskms Maven आर्टफ़ैक्ट को com.google.crypto.tink:tink के साथ इंस्टॉल किया जा सकता है.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.19.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
सोर्स से बनाना
अगर आपको सोर्स से tink-awskms बनाना है, तो उदाहरण के लिए, किसी खास कमिट को पिन करने के लिए, इसे अपनी WORKSPACE फ़ाइल में http_archive के तौर पर शामिल किया जा सकता है:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.19.0/tink-java-1.19.0.zip"],
strip_prefix = "tink-java-1.19.0",
sha256 = "196d7437806151eff3e74997bdf3b39e5ec025ca90ca793c1bd24ef1953cdce0",
)
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
Maven का इस्तेमाल करके, Tink Java Google Cloud KMS एक्सटेंशन को शामिल किया जा सकता है:
<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-gcpkms Maven आर्टफ़ैक्ट को com.google.crypto.tink:tink के साथ इंस्टॉल किया जा सकता है.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.19.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/releases/download/v1.19.0/tink-java-1.19.0.zip"],
strip_prefix = "tink-java-1.19.0",
sha256 = "196d7437806151eff3e74997bdf3b39e5ec025ca90ca793c1bd24ef1953cdce0",
)
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 पेमेंट के तरीके का टोकन, Google AdMob के इनाम वाले विज्ञापनों की सर्वर-साइड पुष्टि, और RFC 8291 - वेब पुश के लिए मैसेज एन्क्रिप्शन को लागू करने की सुविधा देती है. इसका सबसे नया वर्शन 1.12.2 है.
Maven
Tink Java Apps लाइब्रेरी को शामिल करने के लिए, 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
rules_jvm_external टूल का इस्तेमाल करके, com.google.crypto.tink:apps-* Maven आर्टफ़ैक्ट में से कोई भी आर्टफ़ैक्ट इंस्टॉल किया जा सकता है.
# ...
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 को सेट अप करने के बाद, Tink का इस्तेमाल करने के लिए यहां दिया गया तरीका अपनाएं:
- कोई प्रिमिटिव चुनें – तय करें कि आपको किस प्रिमिटिव का इस्तेमाल करना है. यह फ़ैसला, इस्तेमाल के उदाहरण के आधार पर लें
- कुंजियां मैनेज करना – अपने बाहरी KMS की मदद से कुंजियों को सुरक्षित रखें, कीसेट जनरेट करें, और कुंजियां रोटेट करें