Configura Tink Java

Después de instalar y configurar Tink, continúa con los próximos pasos.

Tink Java

La biblioteca principal de Java es tink-java, con la versión 1.21.0 como la más reciente. Tink Java admite Java 11 o versiones posteriores.

Maven

Puedes incluir Tink Java con Maven:

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

Bazel

Los usuarios de Bazel pueden agregar Tink Java como dependencia si agregan lo siguiente en su archivo 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 biblioteca principal de Android es tink-java, con la versión 1.21.0 como la más reciente.

Tink Android es totalmente compatible a partir del nivel de API 24. Se espera que la mayoría de las partes de Tink funcionen a partir del nivel de API 23. Las partes en las que Tink no se ejecuta de inmediato con el nivel de API 23 son las siguientes:

  • La biblioteca JWT requiere el nivel de API 24, ya que usa clases como java.util.Optional. Esta limitación se puede evitar con la eliminación de azúcar sintáctico.

  • Algunas APIs en com.google.crypto.tink.streamingaead usan SeekableByteBufferChannel, que solo está disponible a partir del nivel de API 24.

Por motivos técnicos, solo probamos Tink en Android en la infraestructura interna de Google. No esperamos ningún problema debido a esto, pero, si tienes alguno, presenta un problema.

Tink Android no requiere configuración de ProGuard.

Gradle

Puedes usar tink-android desde Gradle:

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

Extensión de AWS KMS

La extensión de AWS KMS de Tink Java es tink-java-awskms, con la versión 1.11.0 como la más reciente.

Maven

Puedes incluir la extensión de AWS KMS de Tink Java con Maven:

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

Bazel

Artefacto de lanzamiento de Maven

Puedes instalar el artefacto de Maven com.google.crypto.tink:tink-awskmsjunto con com.google.crypto.tink:tink con la rules_jvm_external herramienta.

# ...

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",
    ],
)

Compila a partir del código fuente

Si deseas compilar tink-awskms a partir del código fuente, por ejemplo, para fijar una confirmación específica, puedes incluirla como un http_archive en tu archivo 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",
    ],
)

Extensión de Google Cloud KMS

La extensión Google Cloud KMS de Tink Java es tink-java-gcpkms, con la versión 1.10.0 como la más reciente.

Maven

Puedes incluir la extensión de Google Cloud KMS de Tink Java con Maven:

<dependencies>
  <dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink-gcpkms</artifactId>
    <version>1.10.0/version>
  </dependency>
</dependencies>

Bazel

Artefacto de lanzamiento de Maven

Puedes instalar el artefacto de Maven com.google.crypto.tink:tink-gcpkmsjunto con com.google.crypto.tink:tink con la herramienta 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",
    ],
)

Compila a partir del código fuente

Si deseas compilar tink-gcpkms a partir del código fuente, por ejemplo, para fijar una confirmación específica, puedes incluirla como un http_archive en tu archivo 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",
    ],
)

Apps de Tink Java

La biblioteca Tink Java Apps proporciona implementaciones para el token de método de pago de Google, la verificación del servidor de los anuncios recompensados de Google AdMob y el RFC 8291: Encriptación de mensajes para la inserción web, con la versión 1.14.0 como la más reciente.

Maven

Puedes incluir la biblioteca de apps de Tink Java con 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

Puedes instalar cualquiera de los com.google.crypto.tink:apps-* artefactos de Maven con la rules_jvm_external herramienta.

# ...

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",
    ],
)

Próximos pasos

Una vez que termines de configurar Tink, continúa con los pasos de uso estándar de Tink: