Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.9.2 (2023-05-08)

Fixed

  • pkcs1v15: have fmt impls call SignatureEncoding::to_bytes (#330)

0.9.1 (2023-05-03)

Fixed

  • Left pad signatures when encoding (#325)

0.9.0 (2023-04-27)

Added

  • Function to get salt length from RSA PSS keys (#277)
  • AssociatedAlgorithmIdentifier implementation (#278)
  • Random key generation for pss::BlindedSigningKey (#295)
  • Impl Signer for pss::SigningKey (#297)
  • Impl core::hash::Hash for RsaPrivateKey (#308)
  • Impl ZeroizeOnDrop for RsaPrivateKey, SigningKey, DecryptingKey (#311)
  • u64_digit feature; on-by-default (#313)
  • AsRef<RsaPublicKey> impl on RsaPrivateKey (#317)

Changed

  • Use namespaced features for serde (#268)
  • Bump pkcs1 to v0.7, pkcs8 to v0.10; MSRV 1.65 (#270)
  • Rename PKCS#1v1.5 *_with_prefix methods (#290)
    • SigningKey::new => SigningKey::new_unprefixed
    • SigningKey::new_with_prefix => SigningKey::new
    • VerifyingKey::new => VerifyingKey::new_unprefixed
    • VerifyingKey::new_with_prefix => VerifyingKey::new
  • Rename Pkcs1v15Sign::new_raw to Pkcs1v15Sign::new_unprefixed (#293)
  • Use digest output size as default PSS salt length (#294)
  • Specify salt_len when verifying PSS signatures (#294)
  • Ensure signatures have the expected length and don't overflow the modulus (#306)
  • Improved public key checks (#307)
  • Rename CRTValue => CrtValue (#314)
  • Traits under padding module now located under traits module (#315)
  • PublicKeyParts/PrivateKeyParts now located under traits module (#315)

Removed

  • “Unsalted” PSS support (#294)
  • EncryptionPrimitive/DecriptionPrimitive traits (#300)
  • PublicKey/PrivateKey traits (#300)
  • Zeroize impl on RsaPrivateKey; automatically zeroized on drop (#311)
  • Deref<Target=RsaPublicKey> impl on RsaPrivateKey; use AsRef instead (#317)

0.8.2 (2023-03-01)

Added

  • Encryption-related traits (#259)

Fixed

  • Possible panic in internals::left_pad (#262)
  • Correct PSS sign/verify when key length is multiple of 8+1 bits (#263)

0.8.1 (2023-01-20)

Added

  • sha2 feature with oid subfeature enabled (#255)

0.8.0 (2023-01-17)

Changed

  • Bump signature crate dependency to v2 (#217, #249)
  • Switch to CryptoRngCore marker trait (#237)
  • Make padding module private (#243)
  • Refactor PaddingScheme into a trait (#244)

Fixed

  • Benchmark build (#225)

0.7.2 (2022-11-14)

Added

  • Public accessor methods for PrecomputedValues (#221)
  • Re-export signature crate (#223)

0.7.1 (2022-10-31)

Added

  • Documentation improvements (#216)

Changed

  • Ensure PaddingScheme is Send and Sync (#215)

0.7.0 (2022-10-10) [YANKED]

NOTE: when computing signatures with this release, make sure to enable the oid crate feature of the digest crate you are using when computing the signature (e.g. sha2, sha3). If the oid feature doesn‘t exist, make sure you’re using the latest versions.

Added

  • pkcs1v15 and pss modules with SigningKey/VerifyingKey types (#174, #195, #202, #207, #208)
  • 4096-bit default max RsaPublicKey size (#176)
  • RsaPublicKey::new_with_max_size (#176)
  • RsaPublicKey::new_unchecked (#206)

Changed

  • MSRV 1.57 (#162)
  • Bump pkcs1 to 0.4 (#162)
  • Bump pkcs8 to 0.9 (#162)
  • RsaPrivateKey::from_components is now fallible (#167)
  • pkcs1v15: use AssociatedOid for getting the RSA prefix (#183)

Removed

  • rng member from PSS padding scheme (#173)
  • Hash removed in favor of using OIDs defined in digest crates (#183)

0.6.1 (2022-04-11)

0.6.0 (2022-04-08)

0.5.0 (2021-07-27)

0.4.1 (2021-07-26)

0.4.0 (2021-03-28)

0.3.0 (2020-06-11)

0.2.0 (2019-12-11)

0.1.4 (2019-10-13)

0.1.3 (2019-03-26)

0.1.2 (2019-02-25)

0.1.1 (2019-02-20)

0.1.0 (2018-12-05)