Après avoir installé et configuré Tink, passez à la section Étapes suivantes.
Tink Java
La bibliothèque Java principale est tink-java, dont la dernière version est la 1.21.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.21.0</version>
</dependency>
Bazel
Les utilisateurs de Bazel peuvent ajouter Tink Java en tant que dépendance en
ajoutant les lignes suivantes à leur fichier MODULE.bazel :
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
La bibliothèque Android principale est tink-java, dont la dernière version est la 1.21.0.
Tink Android est entièrement compatible à partir du niveau d'API 24. La plupart des composants de Tink devraient fonctionner à partir du niveau d'API 23. Les composants pour lesquels Tink ne fonctionne pas immédiatement avec le niveau d'API 23 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 grâce à la désucrification.Certaines API de
com.google.crypto.tink.streamingaeadutilisentSeekableByteBufferChannel, 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 nous attendons à aucun problème, 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.21.0'
}
Extension KMS AWS
L'extension Tink Java AWS KMS est tink-java-awskms, dont la dernière version est la 1.11.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>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.21.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 créer 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.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_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, dont la dernière version est la 1.10.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.10.0/version>
</dependency>
</dependencies>
Bazel
Artefact de version Maven
Vous pouvez installer l'artefact Maven com.google.crypto.tink:tink-gcpkmsavec com.google.crypto.tink:tink à l'aide de l'outil rules_jvm_external.
# ...
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",
],
)
Créer à partir de la source
Si vous souhaitez créer 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/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",
],
)
Applications Tink Java
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 le RFC 8291 – Message Encryption for Web Push, dont la dernière version est la 1.14.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.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
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.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",
],
)
Étapes suivantes
Une fois que vous avez terminé de configurer Tink, passez aux étapes d'utilisation standard de Tink :
- Choisir une primitive : décidez quelle 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 faites-les pivoter.