Thiết lập Tink Java

Sau khi cài đặt và thiết lập Tink, hãy tiếp tục với Các bước tiếp theo.

Tink Java

Thư viện Java cốt lõi là tink-java với 1.21.0 là bản phát hành mới nhất. Tink Java hỗ trợ Java 11 trở lên.

Maven

Bạn có thể đưa Tink Java vào bằng Maven:

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

Bazel

Người dùng Bazel có thể thêm Tink Java làm phần phụ thuộc bằng cách thêm nội dung sau vào tệp 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

Thư viện Android cốt lõi là tink-java với 1.21.0 là bản phát hành mới nhất.

Tink Android được hỗ trợ đầy đủ kể từ cấp độ API 24. Hầu hết các phần của Tink dự kiến sẽ hoạt động kể từ cấp độ API 23. Các phần mà Tink không chạy ngay khi dùng cấp độ API 23 là:

  • Thư viện JWT yêu cầu cấp độ API 24 vì thư viện này sử dụng các lớp như java.util.Optional. Bạn có thể tránh được hạn chế này bằng cách đơn giản hoá.

  • Một số API trong com.google.crypto.tink.streamingaead sử dụng SeekableByteBufferChannel chỉ có sẵn từ cấp độ API 24.

Vì lý do kỹ thuật, chúng tôi chỉ kiểm thử Tink trên Android trên cơ sở hạ tầng nội bộ của Google. Chúng tôi không dự kiến sẽ có vấn đề gì do việc này, nhưng nếu bạn gặp phải vấn đề, vui lòng báo cáo vấn đề.

Tink Android không yêu cầu cấu hình ProGuard.

Gradle

Bạn có thể sử dụng tink-android từ Gradle:

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

Tiện ích AWS KMS

Tiện ích Tink Java AWS KMStink-java-awskms với 2.0.0 là bản phát hành mới nhất.

Maven

Bạn có thể đưa tiện ích Tink Java AWS KMS vào bằng Maven:

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

Bazel

Cấu phần phần mềm của bản phát hành Maven

Bạn có thể cài đặt cấu phần phần mềm Maven com.google.crypto.tink:tink-awskms cùng với com.google.crypto.tink:tink bằng công cụ rules_jvm_external.

# ...

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.21.0",
        "com.google.crypto.tink:tink-awskms:2.0.0",
        # ... other dependencies ...
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

Tiện ích Google Cloud KMS

Tiện ích Tink Java Google Cloud KMStink-java-gcpkms với 1.10.0 là bản phát hành mới nhất.

Maven

Bạn có thể đưa tiện ích Tink Java Google Cloud KMS vào bằng Maven:

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

Bazel

Cấu phần phần mềm của bản phát hành Maven

Bạn có thể cài đặt cấu phần phần mềm Maven com.google.crypto.tink:tink-gcpkmscùng với com.google.crypto.tink:tink bằng công cụ 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",
    ],
)

Tạo từ nguồn

Nếu muốn tạo tink-gcpkms từ nguồn, chẳng hạn như để ghim một cam kết cụ thể, bạn có thể đưa cam kết đó vào dưới dạng http_archive trong tệp 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",
    ],
)

Ứng dụng Tink Java

Thư viện Ứng dụng Tink Java cung cấp các cách triển khai cho Mã thông báo phương thức thanh toán của Google, Xác minh phía máy chủ của Quảng cáo có tặng thưởng trên Google AdMobRFC 8291 – Mã hoá thông báo cho thông báo đẩy trên web với 1.14.0 là bản phát hành mới nhất.

Maven

Bạn có thể đưa thư viện Ứng dụng Tink Java vào bằng 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

Bạn có thể cài đặt bất kỳ cấu phần phần mềm Maven com.google.crypto.tink:apps-* nào bằng công cụ 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",
    ],
)

Các bước tiếp theo

Sau khi hoàn tất việc thiết lập Tink, hãy tiếp tục với các bước sử dụng Tink tiêu chuẩn:

  • Chọn một nguyên hàm – Quyết định sử dụng nguyên hàm nào dựa trên trường hợp sử dụng của bạn
  • Quản lý khoá – Bảo vệ khoá bằng KMS bên ngoài, tạo bộ khoá và luân chuyển khoá