Features
- New CryptoKit based provider for all Apple targets, which brings support for AES-GCM and ECDH without requiring to use of OpenSSL
- New optimal provider, which allows using preconfigured providers for all targets via a single dependency
- New algorithms: RIPEMD160 (#55, thanks to @huskcasaca!) and CMAC (#69, thanks to @NinjaRat84!)
- Support for compressed encoding of EC public keys (#57, thanks to @huskcasaca!)
- Support for IV size larger than 12 bytes in AES GCM (#75)
Bug fixes
- Fix
verifySignature
declaration in WebCrypto (#62) - Fix
AES.keyGenerator
overload resolution ambiguity (#53)
Other improvements
- Kotlin 2.0.20 -> 2.2.0
- kotlinx-io 0.5.4 -> 0.8.0
- Update the prebuilt OpenSSL version to 3.5.0 LTS
- Additional EC curves definitions: secp256k1 & brainpool (#78, thanks to @waltkb & @sake!)
- Improve the implementation around
WebCrypto
JS API (#59 & #71) - Introduce an ability to configure the default security provider for JDK provider and additional dependency to use BouncyCastle provider by default
- New CryptographySystem API to configure the default provider, with the ability to work with multiple providers at the same time
For more information, please consult the documentation: https://whyoleg.github.io/cryptography-kotlin/