Skip to content

0.5.0 - CryptoKit & optimal providers

Latest
Compare
Choose a tag to compare
@whyoleg whyoleg released this 30 Jun 18:37
· 33 commits to main since this release

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/