Fahren Sie nach der Installation und Einrichtung von Tink mit Nächste Schritte fort.
Tink Java
Die zentrale Java-Bibliothek ist tink-java mit 1.18.0 als neuestem Release. Tink Java unterstützt Java 11 oder höher.
Maven
Sie können Tink Java mit Maven einbinden:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.18.0</version>
</dependency>
Bazel
Maven-Release-Artefakt
Bazel-Nutzer können Tink Java als Abhängigkeit hinzufügen, indem sie das Maven-Release-Artefakt mit dem Tool rules_jvm_external
in ihrer WORKSPACE
-Datei installieren:
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.18.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Aus Quelle erstellen
Wenn Sie tink-java
aus dem Quellcode erstellen möchten, z. B. um einen bestimmten Commit zu fixieren, können Sie ihn als http_archive
in Ihre WORKSPACE
-Datei einfügen:
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
Die Android-Kernbibliothek ist tink-java mit 1.18.0 als neuestem Release.
Tink Android wird ab API-Level 24 vollständig unterstützt. Die meisten Teile von Tink sollten ab API-Level 23 funktionieren. Die Teile, in denen Tink nicht sofort mit API-Level 23 funktioniert, sind:
Für die JWT-Bibliothek ist API-Level 24 erforderlich, da sie Klassen wie
java.util.Optional
verwendet. Diese Einschränkung kann durch Desugaring umgangen werden.Einige APIs in
com.google.crypto.tink.streamingaead
verwendenSeekableByteBufferChannel
, das erst ab API-Level 24 verfügbar ist.
Aus technischen Gründen testen wir Tink auf Android nur in der internen Infrastruktur von Google. Wir gehen nicht davon aus, dass dadurch Probleme entstehen. Sollten Sie jedoch Probleme feststellen, melden Sie diese bitte.
Für Tink Android ist keine ProGuard-Konfiguration erforderlich.
Gradle
Sie können tink-android
aus Gradle verwenden:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.18.0'
}
AWS KMS-Erweiterung
Die Tink Java-Erweiterung für AWS KMS ist tink-java-awskms mit 1.11.0 als neuestem Release.
Maven
Sie können die Tink Java AWS KMS-Erweiterung mit Maven einbinden:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Maven-Release-Artefakt
Sie können das com.google.crypto.tink:tink-awskms
-Maven-Artefakt zusammen mit com.google.crypto.tink:tink
mit dem Tool rules_jvm_external
installieren.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.18.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Aus Quelle erstellen
Wenn Sie tink-awskms
aus dem Quellcode erstellen möchten, z. B. um einen bestimmten Commit zu fixieren, können Sie ihn als http_archive
in Ihre WORKSPACE
-Datei einfügen:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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-Erweiterung
Die Tink Java-Erweiterung für Google Cloud KMS ist tink-java-gcpkms mit 1.10.0 als neueste Version.
Maven
Sie können die Tink Java Google Cloud KMS-Erweiterung mit Maven einbinden:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
Maven-Release-Artefakt
Sie können das com.google.crypto.tink:tink-gcpkms
-Maven-Artefakt zusammen mit com.google.crypto.tink:tink
mit dem Tool rules_jvm_external
installieren.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.18.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Aus Quelle erstellen
Wenn Sie tink-gcpkms
aus dem Quellcode erstellen möchten, z. B. um einen bestimmten Commit zu fixieren, können Sie ihn als http_archive
in Ihre WORKSPACE
-Datei einfügen:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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-Apps
Die Bibliothek Tink Java Apps bietet Implementierungen für Google Payment Method Token, Server-Side Verification of Google AdMob Rewarded Ads und RFC 8291 – Message Encryption for Web Push mit 1.12.2 als aktueller Version.
Maven
Sie können die Tink Java Apps-Bibliothek mit Maven einbinden:
<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
Sie können alle com.google.crypto.tink:apps-*
-Maven-Artefakte mit dem Tool rules_jvm_external
installieren.
# ...
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",
],
)
Nächste Schritte
Nachdem Sie Tink eingerichtet haben, fahren Sie mit den standardmäßigen Schritten zur Verwendung von Tink fort:
- Primitive auswählen: Wählen Sie das Primitive aus, das für Ihren Anwendungsfall am besten geeignet ist.
- Schlüssel verwalten: Schützen Sie Ihre Schlüssel mit Ihrem externen KMS, generieren Sie Schlüsselsätze und rotieren Sie Ihre Schlüssel.