Tink 1.2.0 Release Candidate 3
Pre-releaseTink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.2.0 Release Candidate 3.
Changes
The complete list of changes since Release Candidate 2 can be found here. Please ignore RSA-related changes; RSA is not part of 1.2.0 release.
This candidate adds C++/Obj-C APIs to generate keys and to get public keys from private keys. We thank Sreejith Krishnan R for reporting these bugs.
New languages: C++ and Obj-C
Tink 1.2.0 adds support for C++ and Obj-C. Both have been running in production at Google for a few months, and support the following algorithms:
- AEAD: AES-EAX, AES-GCM, AES-CTR-HMAC-AEAD
- MAC: HMAC-SHA2
- Digital Signature: ECDSA over NIST curves
- Hybrid Encryption: ECIES over NIST curves with AEAD (AES-GCM and AES-CTR-HMAC-AEAD) and HKDF
Support for AWS KMS will be added to the Tink C++ library in future release candidates. Support for Google Cloud KMS has to wait post 1.2.0 because of lack of Cloud KMS client library.
The Tink Obj-C library supports reading/writing key material to/from iOS Keychain.
Please see the C++ HOWTO and the Obj-C HOWTO for usage.
Installation
C++ with prebuilt binaries
OS="linux" # Change to "darwin" for macOS
TARGET_DIR="/usr/local"
curl -L \
"https://storage.googleapis.com/tink/releases/libtink-${OS}-x86_64-1.2.0-rc3.tar.gz" |
sudo tar -xz -C ${TARGET_DIR}
Obj-C with Cocoapods
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.2.0-rc3'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.0-rc3</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.0-rc3'
}
What's next
There may be a few more release candidates before we get to the final 1.2.0 release. It should be out by the end of July 2018.