Tink को इंस्टॉल और सेट अप करने के बाद, अगले चरण पर जाएं.
Tink Java
मुख्य Java लाइब्रेरी, tink-java है. इसकी सबसे नई रिलीज़ 1.16.0 है. Tink Java, Java 8 या उसके बाद के वर्शन के साथ काम करता है.
Maven
Maven का इस्तेमाल करके, Tink Java को शामिल किया जा सकता है:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.0</version>
</dependency>
Bazel
Maven रिलीज़ आर्टफ़ैक्ट
Bazel के उपयोगकर्ता, अपनी WORKSPACE
फ़ाइल में rules_jvm_external
टूल का इस्तेमाल करके Maven रिलीज़ आर्टफ़ैक्ट को इंस्टॉल करके, Tink Java को डिपेंडेंसी के तौर पर जोड़ सकते हैं. हमारा सुझाव है कि वे ऐसा करें:
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
बनाना है, तो उदाहरण के लिए, किसी खास कमिट को पिन करने के लिए, उसे अपनी WORKSPACE
फ़ाइल में http_archive
के तौर पर शामिल किया जा सकता है:
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 से पूरी तरह काम करता है. उम्मीद है कि एपीआई लेवल 21 से, Tink के ज़्यादातर हिस्से काम करेंगे. एपीआई लेवल 21 के साथ, Tink के ये हिस्से काम नहीं करते:
JWT लाइब्रेरी के लिए एपीआई लेवल 24 की ज़रूरत होती है, क्योंकि यह
java.util.Optional
जैसी क्लास का इस्तेमाल करती है. शुगर हटाने की प्रोसेस से, इस सीमा से बचा जा सकता है.com.google.crypto.tink.integration.android
में मौजूद क्लास की पूरी तरह से जांच, एपीआई लेवल 23 से ही की जाती है.com.google.crypto.tink.streamingaead
में मौजूद कुछ एपीआई,SeekableByteBufferChannel
का इस्तेमाल करते हैं. यह एपीआई, सिर्फ़ एपीआई लेवल 24 से उपलब्ध है.
तकनीकी वजहों से, हम Android पर सिर्फ़ Google के इंटरनल इंफ़्रास्ट्रक्चर पर Tink की जांच करते हैं. हमें उम्मीद है कि इससे कोई समस्या नहीं आएगी. हालांकि, अगर आपको कोई समस्या आती है, तो कृपया समस्या दर्ज करें.
Tink Android के लिए, ProGuard कॉन्फ़िगरेशन की ज़रूरत नहीं होती.
ग्रेडल
Gradle में tink-android
का इस्तेमाल इस तरह किया जा सकता है:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.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
के साथ-साथ com.google.crypto.tink:tink-awskms
Maven artifact को भी इंस्टॉल किया जा सकता है.
# ...
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
बनाना है, तो उदाहरण के लिए, किसी खास कमिट को पिन करने के लिए, उसे अपनी WORKSPACE
फ़ाइल में http_archive
के तौर पर शामिल किया जा सकता है:
# ...
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
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
के साथ-साथ com.google.crypto.tink:tink-gcpkms
Maven artifact को भी इंस्टॉल किया जा सकता है.
# ...
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
बनाना है, तो उदाहरण के लिए, किसी खास कमिट को पिन करने के लिए, उसे अपनी WORKSPACE
फ़ाइल में http_archive
के तौर पर शामिल किया जा सकता है:
# ...
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 पेमेंट के तरीके का टोकन, Google AdMob के इनाम वाले विज्ञापनों की सर्वर-साइड पुष्टि, और RFC 8291 - वेब पुश के लिए मैसेज एन्क्रिप्शन को लागू करने की सुविधा देती है. इस लाइब्रेरी का नया वर्शन 1.11.0 है.
Maven
Maven का इस्तेमाल करके, Tink Java ऐप्लिकेशन लाइब्रेरी को शामिल किया जा सकता है:
<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
rules_jvm_external
टूल का इस्तेमाल करके, com.google.crypto.tink:apps-*
Maven आर्टफ़ैक्ट में से किसी भी आर्टफ़ैक्ट को इंस्टॉल किया जा सकता है.
# ...
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 के इस्तेमाल के सामान्य चरणों को पूरा करें:
- प्राइमटिव चुनना – इस्तेमाल के उदाहरण के आधार पर तय करें कि किस प्राइमटिव का इस्तेमाल करना है
- कुंजियां मैनेज करना – बाहरी केएमएस की मदद से अपनी कुंजियों को सुरक्षित रखना, पासकोड सेट जनरेट करना, और पासकोड बदलना