Dopo aver installato e configurato Tink, continua con i passaggi successivi.
Tink Java
La libreria Java principale è tink-java con 1.21.0 come ultima release. Tink Java supporta Java 11 o versioni successive.
Maven
Puoi includere Tink Java utilizzando Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.21.0</version>
</dependency>
Bazel
Gli utenti di Bazel possono aggiungere Tink Java come dipendenza
aggiungendo quanto segue al file 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 libreria Android principale è tink-java con 1.21.0 come ultima release.
Tink Android è completamente supportato a partire dal livello API 24. La maggior parte delle parti di Tink dovrebbe funzionare a partire dal livello API 23. Le parti in cui Tink non funziona immediatamente con il livello API 23 sono:
La libreria JWT richiede il livello API 24 perché utilizza classi come
java.util.Optional. Questa limitazione può essere evitata con il desugaring.Alcune API in
com.google.crypto.tink.streamingaeadutilizzanoSeekableByteBufferChannel, disponibile solo dal livello API 24.
Per motivi tecnici, testiamo Tink su Android solo sull'infrastruttura interna di Google. Non prevediamo problemi, ma se ne riscontri, segnala un problema.
Tink Android non richiede alcuna configurazione di ProGuard.
Gradle
Puoi utilizzare tink-android da Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.21.0'
}
Estensione KMS AWS
L'estensione Tink Java AWS KMS è tink-java-awskms con 1.11.0 come ultima release.
Maven
Puoi includere l'estensione Tink Java AWS KMS utilizzando Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Artefatto di release Maven
Puoi installare l'artefatto Maven com.google.crypto.tink:tink-awskmsinsieme a com.google.crypto.tink:tink utilizzando lo strumento 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",
],
)
Creazione dal codice sorgente
Se vuoi creare tink-awskms dal codice sorgente, ad esempio per bloccare un commit specifico, puoi includerlo come http_archive nel file 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",
],
)
Estensione Cloud KMS
L'estensione Tink Java Cloud KMS di Google è tink-java-gcpkms con 1.10.0 come ultima release.
Maven
Puoi includere l'estensione Tink Java Cloud KMS Google Cloud utilizzando Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
Artefatto di release Maven
Puoi installare l'artefatto Maven com.google.crypto.tink:tink-gcpkmsinsieme a com.google.crypto.tink:tink utilizzando lo strumento 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",
],
)
Creazione dal codice sorgente
Se vuoi creare tink-gcpkms dal codice sorgente, ad esempio per bloccare un commit specifico, puoi includerlo come http_archive nel file 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",
],
)
App Tink Java
La libreria Tink Java Apps fornisce implementazioni per il token del metodo di pagamento Google, la verifica lato server degli annunci con premio di Google AdMob, e RFC 8291 - Crittografia dei messaggi per le notifiche push web con 1.14.0 come ultima release.
Maven
Puoi includere la libreria Tink Java Apps utilizzando 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
Puoi installare uno qualsiasi degli artefatti Maven com.google.crypto.tink:apps-*
utilizzando lo strumento 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",
],
)
Passaggi successivi
Una volta terminata la configurazione di Tink, continua con i passaggi standard di utilizzo di Tink:
- Scegli una primitiva: decidi quale primitiva utilizzare in base al tuo caso d'uso
- Gestisci le chiavi: proteggi le chiavi con il KMS esterno, genera keyset e ruota le chiavi