Po zainstalowaniu i skonfigurowaniu Tink przejdź do sekcji Kolejne kroki.
Tink Java
Główna biblioteka Java to tink-java w wersji 1.16.0. Tink Java obsługuje wersję Java 8 lub nowszą.
Maven
Możesz uwzględnić Tink Java za pomocą Mavena:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.0</version>
</dependency>
Bazel
Artefakt wersji Maven
Zalecana metoda dodawania zależności Tink Java przez użytkowników Bazel polega na zainstalowaniu artefaktu wersji Maven za pomocą narzędzia rules_jvm_external
w pliku 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",
],
)
Kompilowanie na podstawie źródła
Jeśli chcesz skompilować tink-java
z źródła, np. aby przypiąć konkretny commit, możesz uwzględnić go jako http_archive
w pliku 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
Główna biblioteka Androida to tink-java w wersji 1.16.0.
Tink na Androida jest w pełni obsługiwany od poziomu interfejsu API 24. Większość funkcji Tink powinna działać od poziomu API 21. Funkcje, które Tink nie obsługuje na poziomie API 21:
Biblioteka JWT wymaga poziomu API 24, ponieważ używa klas takich jak
java.util.Optional
. Można tego uniknąć, stosując desugaring.Klasy w
com.google.crypto.tink.integration.android
są w pełni przetestowane tylko od poziomu interfejsu API 23.Niektóre interfejsy API w
com.google.crypto.tink.streamingaead
używają interfejsuSeekableByteBufferChannel
, który jest dostępny tylko od poziomu 24 interfejsu API.
Z powodów technicznych testujemy Tink na Androidzie tylko na wewnętrznej infrastrukturze Google. Nie spodziewamy się żadnych problemów, ale jeśli wystąpią, prześlij zgłoszenie.
Tink na Androida nie wymaga konfiguracji Proguard.
Gradle
Możesz użyć tink-android
w Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.0'
}
Rozszerzenie AWS KMS
Rozszerzenie Tink Java AWS KMS to tink-java-awskms w wersji 1.11.0.
Maven
Rozszerzenie Tink Java AWS KMS możesz uwzględnić za pomocą Mavena:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Artefakt wersji Maven
Możesz zainstalować artefakt Maven com.google.crypto.tink:tink-awskms
wraz z com.google.crypto.tink:tink
za pomocą narzędzia 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",
],
)
Kompilowanie na podstawie źródła
Jeśli chcesz skompilować tink-awskms
z źródła, na przykład aby przypiąć konkretny commit, możesz uwzględnić go jako http_archive
w pliku 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",
],
)
Rozszerzenie Google Cloud KMS
Rozszerzenie Tink Java Google Cloud KMS to tink-java-gcpkms w wersji 1.10.0.
Maven
Rozszerzenie Tink Java Google Cloud KMS możesz uwzględnić za pomocą Mavena:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
Artefakt wersji Maven
Możesz zainstalować artefakt Maven com.google.crypto.tink:tink-gcpkms
wraz z com.google.crypto.tink:tink
za pomocą narzędzia 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",
],
)
Kompilowanie na podstawie źródła
Jeśli chcesz skompilować tink-gcpkms
z źródła, na przykład aby przypiąć konkretny commit, możesz uwzględnić go jako http_archive
w pliku 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",
],
)
Aplikacje Tink w Javie
Biblioteka Tink Java Apps udostępnia implementacje tokenu metody płatności Google, weryfikacji po stronie serwera reklam z nagrodą Google AdMob oraz RFC 8291 – szyfrowanie wiadomości na potrzeby powiadomień push w internecie (w wersji 1.11.0).
Maven
Bibliotekę Tink Java Apps możesz uwzględnić za pomocą Mavena:
<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
Za pomocą narzędzia rules_jvm_external
możesz zainstalować dowolny artefakt Maven com.google.crypto.tink:apps-*
.
# ...
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",
],
)
Dalsze kroki
Po zakończeniu konfigurowania Tink kontynuuj standardowymi czynnościami związanymi z korzystaniem z Tink:
- Wybierz typ obiektu – wybierz typ obiektu na podstawie przypadku użycia.
- Zarządzaj kluczami – chronij klucze za pomocą zewnętrznej usługi KMS, generuj zestawy kluczy i rotuj klucze.