設定 Tink Java

安裝並設定 Tink 後,請繼續執行後續步驟。

Tink Java

核心 Java 程式庫為 tink-java,最新版本為 1.24.0。Tink Java 支援 Java 11 以上版本。

Maven

您可以使用 Maven 加入 Tink Java:

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

Bazel

Bazel 使用者可以在 MODULE.bazel 檔案中加入下列內容,將 Tink Java 新增為依附元件:

  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。

自 API 級別 24 起,Tink Android 獲得完整支援。Tink 的大部分功能應可從 API 級別 23 開始運作。Tink 無法在 API 級別 23 上直接執行的部分如下:

  • JWT 程式庫會使用 java.util.Optional 等類別,因此需要 API 級別 24。您可以透過脫糖避免這項限制。

  • com.google.crypto.tink.streamingaead 中的部分 API 使用 SeekableByteBufferChannel,僅適用於 API 級別 24 以上版本。

基於技術原因,我們只在 Google 內部基礎架構上測試 Android 版 Tink。我們預期這不會造成任何問題,但如果您遇到任何問題,請回報。

Tink Android 不需要 ProGuard 設定。

Gradle

您可以透過 Gradle 使用 tink-android:

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

AWS KMS 擴充功能

Tink Java AWS KMS 擴充功能為 tink-java-awskms,最新版本為 2.2.0。

Maven

您可以使用 Maven 加入 Tink Java AWS KMS 擴充功能:

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

Bazel

Maven 版本構件

您可以使用 rules_jvm_external 工具,同時安裝 com.google.crypto.tink:tink-awskms Maven 構件和 com.google.crypto.tink:tink。

# ...

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

您可以使用 Maven 加入 Tink Java Google Cloud KMS 擴充功能:

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

Bazel

Maven 版本構件

您可以使用 rules_jvm_external 工具,同時安裝 com.google.crypto.tink:tink-gcpkms Maven 構件和 com.google.crypto.tink:tink。

# ...

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

您可以使用 Maven 加入 Tink Java 應用程式庫:

<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

您可以使用 rules_jvm_external 工具安裝任何 com.google.crypto.tink:apps-* Maven 構件。

# ...

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 使用步驟:

  • 選擇原語:根據用途決定要使用的原語
  • 管理金鑰:使用外部 KMS 保護金鑰、產生金鑰組,以及輪替金鑰