Skip to content

0.2.0 - New algorithms, Android integration testing

Compare
Choose a tag to compare
@whyoleg whyoleg released this 05 Sep 08:35
· 228 commits to main since this release

New algorithms

  • RSA.PKCS1 (RSAES-PKCS1-v1_5) - supported by JDK, WebCrypto and OpenSSL3 providers #5
  • SHA224 - supported by JDK, OpenSSL3 and Apple providers
  • SHA3 family - supported by JDK and OpenSSL3 providers

Testing improvements

  • Support running tests with BouncyCastle in addition to default JDK provider
  • Support running JDK provider tests on Android emulator with API level 21, 27 and 30
  • Add ECDSA with secp256k1 curve testing (supported by JDK BouncyCastle and OpenSSL3 providers) #4

General improvements

  • Kotlin 1.9.10
  • a lot of under the hood changes to improve test coverage and test correctness

Breaking changes

  • providers artifacts and package name changes. F.e. for JDK provider:
    • maven artifact name changed from cryptography-jdk to cryptography-provider-jdk
    • package name changed from dev.whyoleg.cryptography.jdk to dev.whyoleg.cryptography.providers.jdk
  • several classes and annotation changed package name to dev.whyoleg.cryptography to simplify hierarchy:
    • CryptographyAlgorithm
    • CryptographyAlgorithmNotFoundException
    • CryptographyProvider
    • CryptographyProviderApi
    • InsecureAlgorithm
  • simplified JDK provider with custom provider creation
    • JdkProvider class removed
    • java.security.Provider or it's name can be now directly provided in constructor function
      • before: CryptographyProvider.JDK(JdkProvider.Instance(BouncyCastleProvider())) or CryptographyProvider.JDK(JdkProvider.Name("BC"))
      • now: CryptographyProvider.JDK(BouncyCastleProvider()) or CryptographyProvider.JDK("BC")

For more information please consult documentation: https://whyoleg.github.io/cryptography-kotlin/