Tink'i yükleyip kurduktan sonra Sonraki Adımlar bölümüne geçin.
Tink Java
Temel Java kitaplığı tink-java'dır ve en son sürümü 1.18.0'dır. Tink Java, Java 11 veya daha yeni sürümleri destekler.
Maven
Maven'ı kullanarak Tink Java'yı ekleyebilirsiniz:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.18.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ındaki 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.18.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
Örneğin belirli bir commit'i sabitlemek için tink-java
'ı kaynaktan oluşturmak istiyorsanız 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ığı, en son sürümü 1.18.0 olan tink-java'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 23'ten itibaren çalışması beklenir. Tink'in API düzeyi 23 ile kullanıma hazır olarak çalışmadığı kısımlar şunlardır:
JWT kitaplığı,
java.util.Optional
gibi sınıfları kullandığından API düzeyi 24 gerektirir. Bu sınırlama, desugaring ile önlenebilir.com.google.crypto.tink.streamingaead
içindeki bazı API'ler, yalnızca API düzeyi 24'ten itibaren kullanılabilenSeekableByteBufferChannel
kullanır.
Teknik nedenlerden dolayı Tink'i yalnızca Google'ın dahili altyapısında Android'de test ediyoruz. Bu durumun herhangi bir soruna yol açmasını beklemiyoruz ancak sorunla karşılaşırsanız lütfen sorun kaydı oluşturun.
Tink Android için proguard yapılandırması gerekmez.
Gradle
Gradle'dan tink-android
kullanabilirsiniz:
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.18.0'
}
AWS KMS Uzantısı
Tink Java AWS KMS uzantısı, en son sürümü 1.11.0 olan tink-java-awskms'dir.
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.18.0",
"com.google.crypto.tink:tink-awskms:1.11.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
Örneğin, belirli bir commit'i sabitlemek için tink-awskms
öğesini kaynaktan oluşturmak istiyorsanız bunu WORKSPACE
dosyanıza http_archive
olarak ekleyebilirsiniz:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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ı, en son sürümü 1.10.0 olan tink-java-gcpkms'dir.
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.18.0",
"com.google.crypto.tink:tink-gcpkms:1.10.0",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Kaynaktan derleme
Örneğin, belirli bir commit'i sabitlemek için tink-gcpkms
öğesini kaynaktan oluşturmak istiyorsanız bunu WORKSPACE
dosyanıza http_archive
olarak ekleyebilirsiniz:
# ...
http_archive(
name = "tink_java",
urls = ["https://github.com/tink-crypto/tink-java/releases/download/v1.18.0/tink-java-1.18.0.zip"],
strip_prefix = "tink-java-1.18.0",
sha256 = "f74f0b8fa8a6edc129ce6b369764e176d7047d87d8f77cec06a8880f00498571",
)
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 ile ilgili uygulamalar sağlar. En son sürüm 1.12.2'dir.
Maven
Tink Java Apps kitaplığını Maven kullanarak ekleyebilirsiniz:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.12.2</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.12.2</version>
</dependency>
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.12.2</version>
</dependency>
Bazel
rules_jvm_external
aracını kullanarak com.google.crypto.tink:apps-*
Maven yapıtlarından herhangi birini yükleyebilirsiniz.
# ...
maven_install(
artifacts = [
"com.google.crypto.tink:apps-webpush:1.12.2",
"com.google.crypto.tink:apps-paymentmethodtoken:1.12.2",
"com.google.crypto.tink:apps-rewardedads:1.12.2",
# ... other dependencies ...
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
Sonraki adımlar
Tink'i kurmayı tamamladığınızda standart Tink kullanım adımlarıyla devam edin:
- Bir temel seçin: Kullanım alanınıza göre hangi temelin 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.