Tink Java einrichten

Nachdem Sie Tink installiert und eingerichtet haben, fahren Sie mit den nächsten Schritten fort.

Tink Java

Die Java-Kernbibliothek ist tink-java. Die neueste Version ist 1.22.0. 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.22.0</version>
</dependency>

Bazel

Bazel-Nutzer können Tink Java als Abhängigkeit hinzufügen, indem sie in der Datei MODULE.bazel Folgendes hinzufügen:

  bazel_dep(name = "tink_java", version = "1.22.0")

  git_override(
      module_name = "tink_java",
      remote = "https://github.com/tink-crypto/tink-java",
      tag = "v1.22.0",
  )

Tink Android

Die Android-Kernbibliothek ist tink-java. Die neueste Version ist 1.22.0.

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 ausgeführt wird, 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 vermieden werden.

  • Einige APIs in com.google.crypto.tink.streamingaead verwenden SeekableByteBufferChannel, das erst ab API-Level 24 verfügbar ist.

Aus technischen Gründen testen wir Tink unter Android nur auf der internen Infrastruktur von Google. Wir gehen nicht davon aus, dass dadurch Probleme entstehen. Wenn Sie jedoch Probleme feststellen, melden Sie sie bitte.

Für Tink Android ist keine ProGuard-Konfiguration erforderlich.

Gradle

Sie können tink-android in Gradle verwenden:

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

AWS KMS-Erweiterung

Die Tink Java AWS KMS-Erweiterung ist tink-java-awskms. Die neueste Version ist 2.0.0.

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>2.0.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 rules_jvm_external Tool installieren.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.22.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-Erweiterung

Die Tink Java Google Cloud KMS-Erweiterung ist tink-java-gcpkms. Die neueste Version ist 1.11.0.

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.11.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 rules_jvm_external Tool installieren.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.22.0",
        "com.google.crypto.tink:tink-gcpkms:1.11.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

Aus Quelle erstellen

Wenn Sie tink-gcpkms aus der Quelle erstellen möchten, z. B. um einen bestimmten Commit zu verwenden, können Sie es als http_archive in die Datei WORKSPACE einfügen:

# ...

http_archive(
    name = "tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/archive/refs/tags/v1.22.0.zip],
    urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.22.0/tink-java-1.22.0.zip"],
    strip_prefix = "tink-java-1.22.0",
    sha256 = "94d73be03a03a8c59914f643eb29b1df52bef5e45e67a4e46800b84e24240ffb",
)

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/archive/refs/tags/v1.11.0.zip"],
    strip_prefix = "tink-java-gcpkms-1.11.0",
    sha256 = "dc64ce1aa013f2c21fdb877a47356564ebbd99201afdb1a1c88fe5252f54a3e9",
)

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-Anwendungen

Die Bibliothek Tink Java Apps bietet Implementierungen für Google-Zahlungsmethoden-Tokens, serverseitige Überprüfung von Google AdMob-Prämienanzeigen und RFC 8291 – Message Encryption for Web Push. Die neueste Version ist 1.14.0.

Maven

Sie können die Bibliothek „Tink Java Apps“ mit Maven einbinden:

<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

Sie können alle com.google.crypto.tink:apps-* Maven-Artefakte mit dem rules_jvm_external Tool installieren.

# ...

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

Nächste Schritte

Nachdem Sie Tink eingerichtet haben, fahren Sie mit den Schritten zur Standardnutzung von Tink fort:

  • Primitive auswählen: Entscheiden Sie anhand Ihres Anwendungsfalls, welches Primitive verwendet werden soll .
  • Schlüssel verwalten: Schützen Sie Ihre Schlüssel mit Ihrem externen KMS, generieren Sie Schlüsselsätze und rotieren Sie Ihre Schlüssel.