После установки и настройки Tink перейдите к разделу Дальнейшие действия.
Tink Java
Основная библиотека Java – tink-java. Последняя версия – 1.24.0. Tink Java поддерживает Java 11 и более поздние версии.
Maven
Вы можете включить Tink Java с помощью Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.24.0</version>
</dependency>
Bazel
Пользователи Bazel могут добавить Tink Java в качестве зависимости, указав в файле 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
Основная библиотека Android – tink-java, последняя версия которой – 1.24.0.
Tink Android полностью поддерживается начиная с уровня API 24. Большинство компонентов Tink должны работать начиная с уровня API 23. Части, в которых Tink не работает по умолчанию с уровнем API 23:
Для библиотеки JWT требуется API уровня 24, поскольку она использует такие классы, как
java.util.Optional. Это ограничение можно обойти с помощью десахаризации.Некоторые API в
com.google.crypto.tink.streamingaeadиспользуютSeekableByteBufferChannel, который доступен только начиная с уровня API 24.
По техническим причинам мы тестируем Tink на Android только во внутренней инфраструктуре Google. Мы не ожидаем, что это вызовет какие-либо проблемы, но если вы столкнетесь с ними, сообщите нам.
Для Tink Android не требуется конфигурация ProGuard.
Gradle
Вы можете использовать tink-android из Gradle:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.24.0'
}
Расширение AWS KMS
Расширение Tink Java AWS KMS – это tink-java-awskms, последняя версия которого – 2.2.0.
Maven
Вы можете включить расширение Tink Java AWS KMS с помощью Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
Bazel
Объект выпуска Maven
Вы можете установить артефакт Maven com.google.crypto.tink:tink-awskms вместе с com.google.crypto.tink:tink, используя инструмент 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",
],
)
Расширение Google Cloud KMS
Расширение Tink Java Google Cloud KMS – это tink-java-gcpkms, последняя версия которого – 1.12.0.
Maven
Вы можете включить расширение Tink Java Google Cloud KMS с помощью Maven:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.12.0/version>
</dependency>
</dependencies>
Bazel
Объект выпуска Maven
Вы можете установить артефакт Maven com.google.crypto.tink:tink-gcpkms вместе с com.google.crypto.tink:tink, используя инструмент 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",
],
)
Сборка из исходного кода
Добавьте в файл 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",
)
Приложения Tink Java
Библиотека Tink Java Apps содержит реализации для токена способа оплаты Google, проверки на стороне сервера объявлений Google AdMob с вознаграждением и RFC 8291 – шифрования сообщений для веб-пуш-уведомлений. Последняя версия – 1.15.0.
Maven
Вы можете включить библиотеку Tink Java Apps с помощью 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
Вы можете установить любой из артефактов Maven com.google.crypto.tink:apps-* с помощью инструмента 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",
],
)
Дальнейшие действия
После настройки Tink выполните стандартные шаги по использованию Tink:
- Выберите примитив в зависимости от вашего сценария использования.
- Управление ключами. Защищайте ключи с помощью внешнего сервиса управления ключами, генерируйте наборы ключей и меняйте ключи.