Настройте Tink Java

После установки и настройки Tink перейдите к следующим шагам .

Тинк Ява

Основная библиотека Java — tink-java , последняя версия — 1.23.0 . Tink Java поддерживает Java 11 и более новые версии.

Мэйвен

Вы можете подключить Tink Java с помощью Maven :

<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.23.0</version>
</dependency>

Базель

Пользователи Bazel могут добавить Tink Java в качестве зависимости, добавив следующее в свой файл MODULE.bazel :

  bazel_dep(name = "tink_java", version = "1.23.0")

  git_override(
      module_name = "tink_java",
      remote = "https://github.com/tink-crypto/tink-java",
      tag = "v1.23.0",
  )

Тинк Андроид

Основной библиотекой Android является tink-java , последняя версия которой — 1.23.0 .

Tink Android полностью поддерживается начиная с API уровня 24. Ожидается, что большинство функций Tink будут работать начиная с API уровня 23. К функциям, которые не работают сразу после установки API уровня 23, относятся:

  • Библиотека JWT требует API уровня 24, поскольку использует такие классы, как java.util.Optional . Это ограничение можно обойти с помощью десахаризации .

  • Некоторые API в com.google.crypto.tink.streamingaead используют SeekableByteBufferChannel , который доступен только начиная с уровня API 24.

По техническим причинам мы тестируем Tink на Android только на внутренней инфраструктуре Google. Мы не ожидаем каких-либо проблем по этой причине, но если вы столкнетесь с какими-либо проблемами, пожалуйста, сообщите об этом, создав соответствующую заявку.

Для работы Tink Android не требуется настройка ProGuard.

Грэдл

Вы можете использовать tink-android из Gradle :

dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.23.0'
}

Расширение AWS KMS

Расширение Tink Java AWS KMS называется tink-java-awskms , последняя версия — 2.0.0 .

Мэйвен

Вы можете подключить расширение Tink Java AWS KMS с помощью Maven :

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-awskms</artifactId>
    <version>2.0.0</version>
  </dependency>
</dependencies>

Базель

артефакт выпуска 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.23.0",
        "com.google.crypto.tink:tink-awskms:2.0.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 .

Мэйвен

Вы можете подключить расширение 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>

Базель

артефакт выпуска 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.23.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 — шифрования сообщений для веб-push-уведомлений, последняя версия — 1.14.0 .

Мэйвен

Библиотеку Tink Java Apps можно подключить с помощью 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>

Базель

Вы можете установить любой из артефактов Maven com.google.crypto.tink:apps-* с помощью инструмента 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",
    ],
)

Следующие шаги

После завершения настройки Tink выполните стандартные действия по использованию Tink:

  • Выберите примитив — определите, какой примитив использовать в зависимости от ваших задач.
  • Управление ключами — защитите свои ключи с помощью внешнего KMS, создавайте наборы ключей и меняйте ключи.