PackageTrack
Sign in Get early access

pointycastle

A Dart library implementing cryptographic algorithms and primitives, modeled on the BouncyCastle library.

4.0.0 3.2M downloads/mo #191 most downloaded on pub.dev bcgit/pc-dart

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 10 months

Some releases are documented

notes for 23 of 40 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

51 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

51 releases · Jan 2016 to Feb 2025
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 51
  1. 4.0.0 19 Feb 2025
    Release notes
    • Add support for utf-16 in ans1_bmp_string.dart
    • Add new oid for secp256r1 (PR #249)
    • Fix nullsafety error in padded_block_cipher_impl.dart (PR #254)
    • Fix ASN1Parser length parsing (PR #250)
    • Remove unused js dependency (PR #251)
    • Add new oids (PR #240)
    • Add new oids for elliptic curves (PR #242)
    • Add Blowfish, Camellia, Twofish block cipher engines (PR #246)
    • Reformat CHANGELOG.md to match markdown standards
    • Add factory for SHA512 in RSA-OAEP (PR #227)
    • Add generics to generateKeyPair #191
    Open source →
  2. 3.9.1 07 May 2024
    Release notes
    • Add crypto in topics to pubspec.yaml (PR #237)
    • remove unnecessary ! operator from some files (PR #236)
    Open source →
  3. 3.9.0 19 Apr 2024
    Release notes
    • Update minimum SDK version to 3.2.0 (PR #231)
    Open source →
  4. 3.8.0 05 Apr 2024
    Release notes
    • Add dart2wasm support (PR #225)
    Open source →
  5. 3.7.4 15 Jan 2024
    Release notes
    • Support the latest version of package:js. (PR #220)
    • Require Dart v3.0 (PR #220)
    • Support parsing of nested objects with indefinite lengths (PR #215)
    Open source →
  6. 3.7.3 14 Apr 2023
    Release notes
    • PSSSigner requires only salt length to verify signature
    Open source →
  7. 3.7.2 23 Mar 2023
    Release notes
    • Removed duplicate oids
    Open source →
  8. 3.7.1 21 Mar 2023
    Release notes
    • Fix linter warnings
    • Added new oids
    Open source →
  9. 3.7.0 16 Mar 2023
    Release notes
    • Added RC2
    • Added RC4
    • Added 3DES
    • Added PKCS5S1ParameterGenerator
    • Added PKCS12ParametersGenerator
    • Added new OIDs
    • Added new ASN1 models
    • EAX
    • Linting
    • Fix to BasePadding
    Open source →
  10. 3.6.2 09 Sep 2022
    Release notes
    • Added OIDs 2.16.840.1.114412.1.1/digiCertOVCert and
    • 2.23.140.1.2.2/organization-validated
    Open source →
  11. 3.6.1 19 Jul 2022
    Release notes
    • Added OID 2.5.4.26/registeredAddress
    • Support ASN1 tag 164
    Open source →
  12. 3.6.0 27 Apr 2022
    Release notes
    • Added ECDH Basic Agreement
    • Added ConcatKDF
    Open source →
  13. 3.5.2 07 Mar 2022
    Release notes
    • Added secp521r1 OID
    Open source →
  14. 3.5.1 08 Feb 2022
    Release notes
    • Added ASN1BMPString
    • Added emailAddress OID
    Open source →
  15. 3.5.0 30 Dec 2021
    Release notes
    • RSAES-OAEP with SHA256 or any digest instance.
    • Fixed bug in Keccak when updating with single bytes.
    Open source →
  16. 3.4.0 09 Nov 2021
    Release notes
    • Security update, fixed timing leaking in GCM implementation.
    • Fixed bug in GCM counter.
    • Added constant time gated xor.
    • Removed more references to AESFastEngine.
    • Security update, AESFastEngine is open to timing attacks, this has been deprecated and replaced with AESEngine.
    • validateMac in BaseAEADBlockCipher is now constant time.
    Open source →
  17. 3.4.0-rc2 04 Nov 2021 pre-release
    Release notes
    • Security update, fixed timing leaking in GCM implementation.
    • Fixed bug in GCM counter.
    • Added constant time gated xor.
    • Removed more references to AESFastEngine.
    Open source →
  18. 3.4.0-rc1 03 Nov 2021 pre-release
    Release notes
    • Security update, AESFastEngine is open to timing attacks, this has been deprecated and replaced with AESEngine.
    • validateMac in BaseAEADBlockCipher is now constant time.
    Open source →
  19. 3.3.5 27 Oct 2021
    Release notes
    • New OID
    Open source →
  20. 3.3.4 07 Sep 2021
    Release notes
    • Performance update to scrypt
    • SM3 implementation
    Open source →
  21. 3.3.3 03 Sep 2021
    Release notes
    • Argon2 in js environments.
    Open source →
  22. 3.3.2 27 Aug 2021
    Release notes
    • New OIDs
    Open source →
  23. 3.3.1 18 Aug 2021
    Release notes
    • Update to Register64 mul(...)
    • New OID
    Open source →
  24. 3.3.0 12 Aug 2021
    Release notes
    • ECElGamal Encryptor and Decryptor
    Open source →
  25. 3.2.0 29 Jul 2021
    Release notes
    • Better ASN1 Dump
    • New OIDs
    • ASN1 Fixes
    Open source →
  26. 3.2.0-rc0 05 Jul 2021 pre-release
    Release notes
    • Extended platform detection to supply entropy source, this works on nodejs.

    • Critical fix to the examples:

      Where, xxx.nextInt(255) is used.

      Must be replaced with either .nextInt(256) or alternatively use:

      Platform.instance.platformEntropySource().getBytes(_how many_) to provide the seed.

    Version 3.1.3 (2021-06-29)

    • Add Argon2
    • Fix to ASN1 parsing, calculation of start position.

    Version 3.1.2 (2021-06-17)

    Version 3.1.1 (2021-06-04)

    • Updated pubspec

    Version 3.1.0 (2021-05-31)

    • SRP support
    • Readme correction
    • not published

    Version 3.0.1 (2021-03-24)

    First non-nullable-by-default release

    Version 3.0.0-nullsafety.2 (2021-02-05)

    • Ports this library to non-nullable-by-default, a new feature in the Dart language
    • This is a breaking change: client code (libraries and apps) will have to migrate as well to use new releases of this library.
    • This library's existing APIs should not have changed functionally from Version 2.0.1; any such change should be reported at https://github.com/bcgit/pc-dart/issues
    • The block cipher modes IGE and CCM were also added in this update.
    • More info about migration: https://dart.dev/null-safety/migration-guide
    • More info about null safety: https://dart.dev/null-safety

    Version 3.0.0-nullsafety.1

    • not published

    Version 3.0.0-nullsafety.0

    • not published

    Version 2.0.1 (2021-01-16)

    • Bug fix, ASN1Utils
    • Removal of 'dart:io'
    • RSAPrivateKey calculates the public exponent from the other values.

    The previous BigInt handling functions in the util package now treat encoded BigInts as twos compliment numbers, this may cause sudden unexpected failures if a number is suddenly negative. Users are advised to review their use of decodeBigInt and encodeBigInt.

    utils.dart:

    • decodeBigInt is twos compliment.
    • encodeBigInt is twos compliment and adds padding to preserve sign.
    • encodeBigIntAsUnsigned writes the magnitude without any padding.
    • decodeBigIntWithSign allows the specification of an arbitrary sign.
    • Previous uses of decodeBigInt where the expectation is an unsigned integer have been updated with decodeBigIntWithSign(1, magnitude).

    Version 2.0.0 (2020-10-02)

    • No changes from 2.0.0-rc2

    Version 2.0.0-rc2 (2020-09-25)

    • Linter Fixes
    • Updates to ASN1 API

    Version 2.0.0-rc1 (2020-09-11) (Dart SDK version 2.1.1)

    • Fixed OAEPEncoding and PKCS1Encoding to use provided output offset value.
    • Fixed RSA block length and offset checks in RSAEngine.processBlock.
    • Fixed RSASigner.verifySignature to return false when signature is bad.
    • Add HKDF support (IETF RFC 5869)
    • Add Poly1305, ChaCha20, ChaCha7539, AES-GCM, SHA3, Keccak, RSA/PSS
    • Add CSHAKE, SHAKE
    • Fixed randomly occurring bug with OAEP decoding.
    • Added NormalizedECDSASigner that wraps ECDSASigner to guarantee an ecdsa signature in lower-s form. (Enforcement on verification supported).
    • Reduce copies in CBC mode.
    • Linter issues fixed.
    • FixedSecureRandom to use seed only once.
    • ASN1 - BOOLEAN, INTEGER, BIT_STRING, OCTET_STRING, NULL, OBJECT_IDENTIFIER, ENUMERATED, UTF8_STRING, SEQUENCE, SET, PRINTABLE_STRING, IA5_STRING & UTC_TIME
    • ASN1 Encoding - DER & BER
    • RSA Keys - Private Key carries public key exponent, added publicExponent and privateExponent where necessary and deprecated single variable getters in for those values.

    Thanks, Steven

    At this release the Point Castle Crypto API has been fully handed over to the Legion of the Bouncy Castle Inc. Steven Roose, it is no small thing to single headedly manage a cryptography API and your effort is rightfully respected by the Pointy Castle user base. We would like to thank you for your trust in us to carry the project forward, and we wish you all the best!

    Version 1.0.2 (2019-11-15)

    • Add non-Keccak SHA3 support
    • Add CMAC support ("AES/CMAC")
    • Add ISO7816-4 padding support
    • Fixes in CBCBlockCipherMac and CMac

    Version 1.0.1 (2019-02-20)

    • Add Blake2b support

    Version 1.0.0 (2018-12-17) (Dart SDK version 2.0)

    • Support Dart 2 and Strong Mode
    • Migrate from package:bignum.BigInteger to dart:core.BigInt
    • Remove Quiver and fixnum dependency
    • OAEP encoding for block ciphers

    Version 0.10.0 (2016-02-04) (Dart SDK version 0.14.0)

    • First Pointy Castle release.

    • Reorganised file structure.

    • Completely new Registry implementation that dynamically loads imported implementations using reflection. It is explained in this commit.

    • Migrated from unittest to test package.

    cipher releases

    Version 0.8.0 (2014-??-??) (Dart SDK version ???)

    • [bug 80] PaddedBlockCipher doesn't add padding when data length is a multiple of the block size. This fix introduces a BREAKING CHANGE in PaddedBlockCipher specification. Read its API documentation to know about the changes.

    Version 0.7.0 (2014-03-22) (Dart SDK version 1.3.0-dev.5.2)

    • [enh 15] Implement stream cipher benchmarks.

    • [enh 64] Benchmark and optimize digests.

    • [enh 74] Make SHA-3 usable in terms of speed.

    • [bug 67] Removed some unused code.

    • [bug 68] Fix process() method of PaddedBlockCipher.

    • [bug 75] Remove a registry dependency in the Scrypt algorithm.

    Open source →
  27. 3.1.3 29 Jun 2021

    Nothing published for this version

  28. 3.1.2 17 Jun 2021

    Nothing published for this version

  29. 3.1.1 04 Jun 2021

    Nothing published for this version

  30. 3.0.1 24 Mar 2021

    Nothing published for this version

  31. 3.0.0-nullsafety.2 05 Feb 2021 pre-release

    Nothing published for this version

  32. 2.0.1 16 Jan 2021

    Nothing published for this version

  33. 2.0.0 02 Oct 2020

    Nothing published for this version

  34. 2.0.0-rc2 25 Sep 2020 pre-release

    Nothing published for this version

  35. 2.0.0-rc1 12 Sep 2020 pre-release

    Nothing published for this version

  36. 1.0.2 15 Nov 2019

    Nothing published for this version

  37. 1.0.1 20 Feb 2019

    Nothing published for this version

  38. 1.0.0 17 Dec 2018

    Nothing published for this version

  39. 1.0.0-rc4 04 Oct 2018 pre-release

    Nothing published for this version

  40. 1.0.0-rc3 14 Sep 2018 pre-release

    Nothing published for this version

  41. 1.0.0-rc2 21 Jun 2018 pre-release

    Nothing published for this version

  42. 1.0.0-rc1 28 May 2018 pre-release

    Nothing published for this version

  43. 0.11.1 28 Jan 2018

    Nothing published for this version

  44. 0.11.0 28 Jan 2018

    Nothing published for this version

  45. 0.10.0 03 Feb 2016

    Nothing published for this version

  46. 0.10.0+1 12 Feb 2016

    Nothing published for this version

  47. 0.10.0+2 07 Dec 2016

    Nothing published for this version

  48. 0.10.0+3 08 Dec 2016

    Nothing published for this version

  49. 0.10.0+4 08 Dec 2016

    Nothing published for this version

  50. 0.10.0+5 08 Dec 2016

    Nothing published for this version

  51. 0.10.0-dev 26 Jan 2016 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive