Tink'i yükleyip ayarladıktan sonra Sonraki Adımlar'a geçin.
Tink Java
Temel Java kitaplığı tink-java'dır ve en son sürüm 1.16.0'dır. Tink Java, Java 8 veya sonraki sürümleri destekler.
Maven
Tink Java'yı Maven kullanarak ekleyebilirsiniz:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.16.0</version>
</dependency>
Bazel
Maven sürüm yapısı
Bazel kullanıcılarının Tink Java'yı bağımlılık olarak eklemesi için önerilen yöntem, WORKSPACE
dosyalarında rules_jvm_external
aracını kullanarak Maven sürüm yapısını yüklemektir:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
RULES_JVM_EXTERNAL_TAG = "6.1"
RULES_JVM_EXTERNAL_SHA ="d31e369b854322ca5098ea12c69d7175ded971435e55c18dd9dd5f29cc5249ac"
http_archive(
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
sha256 = RULES_JVM_EXTERNAL_SHA,
url = "https://github.com/bazelbuild/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % (RULES_JVM_EXTERNAL_TAG, RULES_JVM_EXTERNAL_TAG)
)
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
rules_jvm_external_deps()
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
rules_jvm_external_setup()
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.16.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
tink-java
'ü kaynaktan derlemek istiyorsanız (ör. belirli bir commit'i sabitlemek için) WORKSPACE
dosyanıza http_archive
olarak ekleyebilirsiniz:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
TINK_COMMIT="f4127f6b6ab9c367d41ade1f50db6f0ef9909044"
TINK_SHA256="e246f848f7749e37f558955ecb50345b04d79ddb9d8d1e8ae19f61e8de530582"
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/archive/%s.zip" % TINK_COMMIT],
strip_prefix = "tink-%s" % TINK_COMMIT,
sha256 = TINK_SHA256
)
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()
# rules_jvm_external is imported and initialized by tink_java_deps and
# tink_java_deps_init.
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = TINK_MAVEN_ARTIFACTS + # ... other dependencies ...
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Tink Android
Temel Android kitaplığı tink-java'dır ve en son sürüm 1.16.0'dır.
Tink Android, API düzeyi 24'ten itibaren tam olarak desteklenir. Tink'in çoğu bölümünün API düzeyi 21'den itibaren çalışacağı beklenir. Tink'in API düzeyi 21 ile kutudan çıktığı bölümler şunlardır:
JWT kitaplığı,
java.util.Optional
gibi sınıflar kullandığından API düzeyi 24'ü gerektirir. Bu sınırlama, şeker azaltma ile önlenebilir.com.google.crypto.tink.integration.android
sınıfları yalnızca API düzeyi 23'ten itibaren tam olarak test edilmiştir.com.google.crypto.tink.streamingaead
'teki bazı API'ler, yalnızca API düzeyi 24'ten itibaren kullanılabilenSeekableByteBufferChannel
'i kullanır.
Teknik nedenlerden dolayı Tink'i Android'de yalnızca Google'ın dahili altyapısında test ederiz. Bu nedenle herhangi bir sorunla karşılaşmayacaksınız ancak sorunla karşılaşırsanız lütfen sorun kaydı oluşturun.
Tink Android için ProGuard yapılandırması gerekmez.
Gradle
Gradle'den tink-android
kullanabilirsiniz:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.16.0'
}
AWS KMS Uzantısı
Tink Java AWS KMS uzantısı tink-java-awskms'dir ve en son sürüm 1.11.0'dır.
Maven
Maven'i kullanarak Tink Java AWS KMS uzantısını ekleyebilirsiniz:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-awskms</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
Bazel
Maven sürüm yapısı
rules_jvm_external
aracını kullanarak com.google.crypto.tink:tink-awskms
Maven yapısını com.google.crypto.tink:tink
ile birlikte yükleyebilirsiniz.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.16.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
tink-awskms
'ü kaynaktan derlemek istiyorsanız (ör. belirli bir taahhüt için sabitlemek üzere) WORKSPACE
dosyanıza http_archive
olarak ekleyebilirsiniz:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
strip_prefix = "tink-java-1.16.0",
sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)
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",
],
)
Google Cloud KMS Uzantısı
Tink Java Google Cloud KMS uzantısı tink-java-gcpkms'dir ve en son sürüm 1.10.0'dır.
Maven
Maven'i kullanarak Tink Java Google Cloud KMS uzantısını ekleyebilirsiniz:
<dependencies>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink-gcpkms</artifactId>
<version>1.10.0/version>
</dependency>
</dependencies>
Bazel
Maven sürüm yapısı
rules_jvm_external
aracını kullanarak com.google.crypto.tink:tink-gcpkms
Maven yapısını com.google.crypto.tink:tink
ile birlikte yükleyebilirsiniz.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:tink:1.16.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
tink-gcpkms
'ü kaynaktan derlemek istiyorsanız (ör. belirli bir taahhüt için sabitlemek üzere) WORKSPACE
dosyanıza http_archive
olarak ekleyebilirsiniz:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.16.0/tink-java-1.16.0.zip"],
strip_prefix = "tink-java-1.16.0",
sha256 = "6bf0bb13281257fdf07d70abfc025f0e3ab18abd22646b1ada3fe297f7feaedb",
)
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",
],
)
Tink Java Uygulamaları
Tink Java Apps kitaplığı, Google Ödeme Yöntemi Jetonu, Google AdMob Ödüllü Reklamlarının Sunucu Tarafında Doğrulanması ve RFC 8291 - Web Push için Mesaj Şifreleme için en son sürüm 1.11.0 ile birlikte uygulama sağlar.
Maven
Maven'i kullanarak Tink Java Apps kitaplığını ekleyebilirsiniz:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.11.0</version>
</dependency>
Bazel
rules_jvm_external
aracını kullanarak com.google.crypto.tink:apps-*
Maven yapılarından herhangi birini yükleyebilirsiniz.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:apps-webpush:1.11.0",
"com.google.crypto.tink:apps-paymentmethodtoken:1.11.0",
"com.google.crypto.tink:apps-rewardedads:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Sonraki adımlar
Tink'i kurmayı tamamladıktan sonra standart Tink kullanım adımlarına devam edin:
- Basit öğe seçin: Kullanım alanınıza göre hangi basit öğenin kullanılacağına karar verin.
- Anahtarları yönetme: Anahtarlarınızı harici KMS'nizle koruyun, anahtar kümeleri oluşturun ve anahtarlarınızı döndürün