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 mit 1.21.0 als neueste Version. 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.21.0</version>
</dependency>

Bazel

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

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

Tink Android

Die Android-Kernbibliothek ist tink-java mit 1.21.0 als neueste Version.

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 in der internen Infrastruktur von Google. Wir gehen nicht davon aus, dass dies Probleme verursacht. 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.21.0'
}

AWS KMS-Erweiterung

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

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.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-Erweiterung

Die Tink Java Google Cloud KMS-Erweiterung 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 rules_jvm_external Tool installieren.

# ...

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

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 Ihre WORKSPACE-Datei einfügen:

# ...

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

Tink Java-Apps

Die Tink Java Apps-Bibliothek bietet Implementierungen für Google-Zahlungsmethoden-Tokens, serverseitige Überprüfung von Google AdMob-Prämienanzeigen und RFC 8291 – Message Encryption for Web Push mit 1.14.0 als neueste 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.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 Tool rules_jvm_external 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.