Après avoir installé et configuré Tink, passez à l'étape Étapes suivantes.
Tink Java
La bibliothèque Java principale est tink-java, avec la dernière version 1.16.0. Tink Java est compatible avec Java 8 ou une 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.16.0</version>
</dependency>
Bazel
Artefact de version Maven
La méthode recommandée pour les utilisateurs de Bazel d'ajouter Tink Java en tant que dépendance consiste à installer l'artefact de version Maven à l'aide de l'outil rules_jvm_external
dans leur fichier WORKSPACE
:
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",
],
)
Créer à partir de la source
Si vous souhaitez compiler tink-java
à partir de la source, par exemple pour épingler un commit spécifique, vous pouvez l'inclure en tant que http_archive
dans votre fichier WORKSPACE
:
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
La bibliothèque principale d'Android est tink-java, avec la dernière version 1.16.0.
Tink Android est entièrement compatible à partir du niveau d'API 24. La plupart des éléments de Tink devraient fonctionner à partir du niveau d'API 21. Les éléments pour lesquels Tink ne s'exécute pas immédiatement avec le niveau d'API 21 sont les suivants:
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 avec le désaccharrage.Les classes de
com.google.crypto.tink.integration.android
ne sont entièrement testées qu'à partir du niveau d'API 23.Certaines API de
com.google.crypto.tink.streamingaead
utilisentSeekableByteBufferChannel
, 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 à ce sujet, mais si vous en rencontrez, veuillez en signaler un.
Tink Android ne nécessite aucune configuration ProGuard.
Gradle
Vous pouvez utiliser tink-android
à partir de Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.0'
}
Extension AWS KMS
L'extension Tink Java AWS KMS est tink-java-awskms, avec la dernière version 1.11.0.
Maven
Vous pouvez inclure l'extension AWS KMS Java Tink à l'aide de Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.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.16.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Créer à partir de la source
Si vous souhaitez compiler tink-awskms
à partir de la source, par exemple pour épingler un commit spécifique, vous pouvez l'inclure en tant que http_archive
dans votre fichier WORKSPACE
:
# ...
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",
],
)
Extension Google Cloud KMS
L'extension Tink Java Google Cloud KMS est tink-java-gcpkms, avec la dernière version 1.10.0.
Maven
Vous pouvez inclure l'extension Google Cloud KMS Java Tink à l'aide de Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.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.16.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Créer à partir de la source
Si vous souhaitez compiler tink-gcpkms
à partir de la source, par exemple pour épingler un commit spécifique, vous pouvez l'inclure en tant que http_archive
dans votre fichier WORKSPACE
:
# ...
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",
],
)
Applications Java Tink
La bibliothèque Tink Java Apps fournit des implémentations pour le jeton de mode de paiement Google, la vérification côté serveur des annonces avec récompense Google AdMob et la RFC 8291 – Chiffrement des messages pour le Web Push, avec la version 1.11.0 comme dernière version.
Maven
Vous pouvez inclure la bibliothèque d'applications Java Tink à l'aide de Maven:
<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
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.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",
],
)
Étapes suivantes
Une fois que vous avez terminé de configurer Tink, suivez les étapes standards d'utilisation de Tink:
- Choisir une primitive : décidez de 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.