Configurer Tink Java

Après avoir installé et configuré Tink, passez aux étapes suivantes.

Tink Java

La bibliothèque Java principale est tink-java, dont la dernière version est la 1.24.0. Tink Java est compatible avec Java 11 ou version ultérieure.

Maven

Vous pouvez inclure Tink Java à l'aide de Maven :

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.24.0</version>
</dependency>

Bazel

Les utilisateurs de Bazel peuvent ajouter Tink Java en tant que dépendance en ajoutant les éléments suivants à leur fichier MODULE.bazel :

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

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

Tink Android

La bibliothèque Android principale est tink-java, dont la dernière version est la 1.24.0.

Tink Android est entièrement compatible à partir du niveau d'API 24. La plupart des parties de Tink devraient fonctionner à partir du niveau d'API 23. Les parties où Tink ne s'exécute pas directement avec le niveau d'API 23 sont les suivantes :

  • La bibliothèque JWT nécessite le niveau d'API 24, car elle utilise des classes telles que java.util.Optional. Cette limitation peut être évitée grâce à la désucration.

  • Certaines API de com.google.crypto.tink.streamingaead utilisent SeekableByteBufferChannel, qui n'est disponible qu'à partir du niveau d'API 24.

Pour des raisons techniques, nous ne testons Tink sur Android que sur l'infrastructure interne de Google. Nous ne prévoyons aucun problème à cause de cela, mais si vous en rencontrez, veuillez signaler un problème.

Tink Android ne nécessite aucune configuration ProGuard.

Gradle

Vous pouvez utiliser tink-android depuis Gradle :

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

Extension AWS KMS

L'extension AWS KMS de Tink Java est tink-java-awskms, et la dernière version est la 2.2.0.

Maven

Vous pouvez inclure l'extension Tink Java AWS KMS à l'aide de Maven :

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-awskms</artifactId>
    <version>2.2.0</version>
  </dependency>
</dependencies>

Bazel

Artefact de version Maven

Vous pouvez installer l'artefact Maven com.google.crypto.tink:tink-awskms avec com.google.crypto.tink:tink à l'aide de l'outil rules_jvm_external.

# ...

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

Extension Google Cloud KMS

L'extension Google Cloud KMS de Tink Java est tink-java-gcpkms, et la dernière version est la 1.12.0.

Maven

Vous pouvez inclure l'extension Tink Java Google Cloud KMS à l'aide de Maven :

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-gcpkms</artifactId>
    <version>1.12.0/version>
  </dependency>
</dependencies>

Bazel

Artefact de version Maven

Vous pouvez installer l'artefact Maven com.google.crypto.tink:tink-gcpkms avec com.google.crypto.tink:tink à l'aide de l'outil rules_jvm_external.

# ...

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

Créer à partir de la source

Ajoutez le code ci-dessous à votre fichier MODULE.bazel.

bazel_dep(name = "tink_java_gcpkms")

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

Applications Java Tink

La bibliothèque Tink Java Apps fournit des implémentations pour le jeton de mode de paiement Google, la validation côté serveur des annonces avec récompense Google AdMob et la RFC 8291 – Chiffrement des messages pour les notifications push Web, la dernière version étant la 1.15.0.

Maven

Vous pouvez inclure la bibliothèque Tink Java Apps à l'aide de Maven :

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-webpush</artifactId>
  <version>1.15.0</version>
</dependency>

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-paymentmethodtoken</artifactId>
  <version>1.15.0</version>
</dependency>

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>apps-rewardedads</artifactId>
  <version>1.15.0</version>
</dependency>

Bazel

Vous pouvez installer n'importe quel artefact Maven com.google.crypto.tink:apps-* à l'aide de l'outil rules_jvm_external.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:apps-webpush:1.15.0",
        "com.google.crypto.tink:apps-paymentmethodtoken:1.15.0",
        "com.google.crypto.tink:apps-rewardedads:1.15.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

Étapes suivantes

Une fois la configuration de Tink terminée, suivez les étapes d'utilisation standards de Tink :

  • Choisir une primitive : déterminez la primitive à utiliser en fonction de votre cas d'utilisation.
  • Gérer les clés : protégez vos clés avec votre KMS externe, générez des ensembles de clés et effectuez une rotation de vos clés.