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.
- Doc comments to specify the
randversion (#473)
- Always validate keys in
RsaPrivateKey::from_components(#459) - Do not crash when handling tiny keys in PKCS1v15 (#459)
- expose a
pss::get_default_pss_signature_algo_idhelper (#393) - expose
pkcs1v15::RsaSignatureAssociatedOid(#392)
- Adds
RsaPrivateKey::from_primesandRsaPrivateKey::from_p_qmethods (#386)
- Deterministic implementation of prime factors recovery (#380)
- PKCS#8/SPKI decoding trait impls for
pkcs1v15keys (#346) hazmatfeature as a replacement forexpose-internals(#352)
- Bump
serdedependency to 1.0.184 (#360)
- Unused dependencies (#357)
- pkcs1v15: have
fmtimpls callSignatureEncoding::to_bytes(#330)
- Left pad signatures when encoding (#325)
- Function to get salt length from RSA PSS keys (#277)
AssociatedAlgorithmIdentifierimplementation (#278)- Random key generation for
pss::BlindedSigningKey(#295) - Impl
Signerforpss::SigningKey(#297) - Impl
core::hash::HashforRsaPrivateKey(#308) - Impl
ZeroizeOnDropforRsaPrivateKey,SigningKey,DecryptingKey(#311) u64_digitfeature; on-by-default (#313)AsRef<RsaPublicKey>impl onRsaPrivateKey(#317)
- Use namespaced features for
serde(#268) - Bump
pkcs1to v0.7,pkcs8to v0.10; MSRV 1.65 (#270) - Rename PKCS#1v1.5
*_with_prefixmethods (#290)SigningKey::new=>SigningKey::new_unprefixedSigningKey::new_with_prefix=>SigningKey::newVerifyingKey::new=>VerifyingKey::new_unprefixedVerifyingKey::new_with_prefix=>VerifyingKey::new
- Rename
Pkcs1v15Sign::new_rawtoPkcs1v15Sign::new_unprefixed(#293) - Use digest output size as default PSS salt length (#294)
- Specify
salt_lenwhen 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
paddingmodule now located undertraitsmodule (#315) PublicKeyParts/PrivateKeyPartsnow located undertraitsmodule (#315)
- "Unsalted" PSS support (#294)
EncryptionPrimitive/DecriptionPrimitivetraits (#300)PublicKey/PrivateKeytraits (#300)Zeroizeimpl onRsaPrivateKey; automatically zeroized on drop (#311)Deref<Target=RsaPublicKey>impl onRsaPrivateKey; useAsRefinstead (#317)expose-internalsfeature and public access to all functions it gated ([#304])
- Encryption-related traits (#259)
- Possible panic in
internals::left_pad(#262) - Correct PSS sign/verify when key length is multiple of 8+1 bits (#263)
sha2feature withoidsubfeature enabled (#255)
- Bump
signaturecrate dependency to v2 (#217, #249) - Switch to
CryptoRngCoremarker trait (#237) - Make
paddingmodule private (#243) - Refactor
PaddingSchemeinto a trait (#244)
- Benchmark build (#225)
- Documentation improvements (#216)
- Ensure
PaddingSchemeisSendandSync(#215)
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.
pkcs1v15andpssmodules withSigningKey/VerifyingKeytypes (#174, #195, #202, #207, #208)- 4096-bit default max
RsaPublicKeysize (#176) RsaPublicKey::new_with_max_size(#176)RsaPublicKey::new_unchecked(#206)