picky-asn1-x509
Provides ASN1 types defined by X.509 related RFCs
0.15.4
5.4M downloads/mo
#4382 most downloaded on crates.io
Devolutions/picky-rs
What this package is like to depend on
Last release 3 months ago
28 Apr 2026
Release timing varies
gaps range from 2 weeks to 11 months
Most releases are documented
notes for 30 of 35 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
35 releases · first in 2020
9 releases in the last 12 months
see the full history below
Release timeline
35 releases · Jul 2020 to Apr 2026Releases
latest 35-
0.15.421 Apr 2026 -
0.15.325 Feb 2026 -
0.15.221 Oct 2025 -
0.15.110 Oct 2025Release notes
Open source →<!-- 1 -->Features
- Support parsing certs with MLDSA public keys (#411) (abc63dde88)
-
0.15.026 Sep 2025Release notes
Open source →<!-- 1 -->Features
- Improve support for SHA3 digests within EC and RSA certificates (#397) (c898c1a65a)
Changed
- Bump minimal rustc version to 1.85.
-
0.14.620 Aug 2025 -
0.14.515 Jul 2025Release notes
Open source →<!-- 0 -->Security
-
Properly zeroize RsaPrivateKey (#386) (ace208d604)
The Drop implementation of the RsaPrivateKey struct was only partially zeroizing the secrets.
-
-
0.14.425 Jun 2025Release notes
Open source →<!-- 4 -->Bug Fixes
- Invalid parameters for ecdsa with sha512 serialization (#377) (ee3ed749e6)
-
0.14.316 Jan 2025Release notes
Open source →<!-- 4 -->Bug Fixes
-
Symlinks to license files in packages (#339) (1834c04f39)
Use symlinks instead of copying files to avoid a “dirty” state during cargo publish and preserve VCS info. With #337 merged, CI handles publishing consistently, so developer environments no longer matter.
-
-
0.14.214 Jan 2025Release notes
Open source →<!-- 1 -->Features
-
AesAuthEncParams::newmethod (#336) (c33cf22bac) -
Add enveloped-data oid (#335) (c077c72ee9)
-
Add
ContentInfoinpkcs7module (#334) (eaa43c36f6)
-
-
0.14.126 Nov 2024 -
0.14.022 Nov 2024Release notes
Open source →Added
EnvelopedDataand related structures- API to query and set MAC algorithm for PFX
- Protection descriptors OIDs
Fixed
- Better algorithm identifier parsing
-
0.13.128 Apr 2026Nothing published for this version
-
0.13.015 Jul 2024 -
0.12.128 Apr 2026Nothing published for this version
-
0.12.024 Aug 2023Release notes
Open source →Added
- PKCS12 ASN.1 structures
- USER_PRINCIPAL_NAME oid
Fixed
- License files are now correctly included in the published package
Changed
- Update dependencies
-
0.11.003 Aug 2023Release notes
Open source →Added
- PKCS12 module
Changed
- Renamed
oids::pkcs7to correctoids::content_info_type_data
-
0.10.015 Jun 2023Release notes
Open source →Fixed
- Fixed
AlgorithmIdentifierparsing: madeECParametersnon-optional for EC keys - Fixed
ECParameters-public_keynow allowed to be optional - Fixed broken wasm compilation
Added
oidis now added as re-export- New API methods:
EcParameters::curve_oidPrivateKeyInfo::new_ec_encryptionsignature::EcdsaSignatureValueAlgorithmIdentifier::is_one_ofAlgorithmIdentifier::new_x25519AlgorithmIdentifier::new_ed448AlgorithmIdentifier::new_x448PrivateKeyInfo::new_ed_encryptionSubjectPublicKeyInfo::new_ed_key
- New constants:
private_key_info::PRIVATE_KEY_INFO_VERSION_1private_key_info::PRIVATE_KEY_INFO_VERSION_2
- Support of Ed25519/X25519/Ed448/X448 key structures
Changed
- (Breaking)
AlgorithmIdentifier::new_elliptic_curvenow acceptsEcParametersinstead ofimpl Into<Option<EcParameters>> - (Breaking)
AlgorithmIdentifierParameters::Ecnow haveEcParametersinstead ofOption<EcParameters> - (Breaking)
SubjectPublicKeyInfo::new_ec_keynow accepts curve'sObjectIdentifierand point asBitString PrivateKeyInfostructure now also could represent newerOneAsymmetricKeystructure (structures are backward-compatible). This allows to represent Ed keys with public key field set
- Fixed
-
0.9.128 Apr 2026Nothing published for this version
-
0.9.008 Nov 2022Release notes
Open source →Added
- More OIDs such as PKINIT_AUTH_DATA and PKINIT_DH_KEY_DATA
- Support for BMPString
-
0.8.001 Aug 2022Release notes
Open source →Added
- Implement
ZeroizeonECPrivateKeyandRsaPrivateKey(behind featurezeroize)
Changed
- Bump minimal rustc version to 1.60
- Implement
-
0.7.120 May 2022 -
0.7.004 Mar 2022Release notes
Open source →Added
- Support for Authenticode timestamp deserialization/serialization
- CTL implementation behind
ctlfeature - New
SpcSipInfostruct - Add serialization/deserialization of Authenticode
TimestampRequest - Add timestamp request OID
- Add a few methods for creating an Attribute without usage low-level API:
Attribute::new_content_type_pkcs7Attribute::new_signing_timeAttribute::new_message_digest
- Add
EncapsulatedContentInfo::new_pkcs7_datamethod
Changed
- (Breaking)
ShaVariantenum is extended for MD5 and SH1 algorithms - (Breaking) Add
SpcStatementTypevariant inAttributeValuesenum - (Breaking) Add
SigningTimevariant inAttributeValuesenum SpcAttributeAndOptionalValuenow supports bothSpcPeImageDataandSpcSipInfovalues- Bump minimal rustc version to 1.56
Fixed
- SignedData:
- (Breaking)
RevocationInfoChoicefield is now optional as specified by the RFC - (Breaking)
CertificateSetis now aVec<CertificateChoices>which can accept both a normalCertificateand anotherkind of certificate as specified by the RFC
- (Breaking)
-
0.6.228 Apr 2026Nothing published for this version
-
0.6.102 Jun 2021 -
0.6.027 May 2021Release notes
Open source →Added
- Support for V1 and V2 X509 certificates (#83)
- Support for
CrlNumberextension (#83) - PKCS7 implementation behind
pkcs7feature (#83)
Changed
- More supported attribute values:
ContentType,MessageDigestandSpcSpOpusInfo(#83) - Fix clippy upper case acronyms warning in a few places (#85)
Removed
- Remove
ImplicitCurvefromEcParametersenum (#85)
-
0.5.004 Mar 2021 -
0.4.020 Nov 2020Release notes
Open source → -
0.3.421 Oct 2020Release notes
Open source →Changed
AlgorithmIdentifierparser has been made more lenient. For instance,rsa-export-0.1.1crate does not serialize the "NULL" parameter with rsa encryption OID. Such input is not rejected anymore.
-
0.3.313 Oct 2020 -
0.3.208 Sep 2020Release notes
Open source →Added
legacyfeature to support previously validRSAPrivateKeywith 6 components instead of 9 as specified by the RFC. Missing components are instead computed on the fly as required.
-
0.3.131 Aug 2020 -
0.3.021 Aug 2020Release notes
Open source →Added
DigestInfofrom RFC8017
Changed
RSAPrivateKeyfields are nowpubPrivateKeyInfo::new_rsa_encryptiontakes 6 arguments instead of 8
Deprecated
RSAPrivateKeygetters are deprecated in favor of direct access of public fields
-
0.2.020 Aug 2020Release notes
Open source →Added
- NIST signature related OIDs
AlgorithmIdentifier::new_sha3_384_with_rsa_encryptionconstructorAlgorithmIdentifier::new_sha3_512_with_rsa_encryptionconstructor- Support for email attribute in certificate subject
Changed
- Rename "organisation" to "organization"
- Change attribute structure in directory names to follow common practices
Fixed
RSAPrivateKeyis now RFC8017 compliant
-
0.1.007 Jul 2020Nothing published for this version