x509-cert: make Name a new type over RdnSequence#1499
Merged
Conversation
3a8da71 to
d059733
Compare
tarcieri
reviewed
Sep 5, 2024
tarcieri
approved these changes
Sep 5, 2024
str4d
suggested changes
Sep 5, 2024
str4d
left a comment
There was a problem hiding this comment.
I didn't review the changes to tests, as I'm on my phone.
b168e0d to
d9fbfc4
Compare
94ddacf to
32615dd
Compare
Member
Author
|
I guess there would be value in a builder for name, but this PR is already large enough. |
cd16b39 to
cb27b48
Compare
Member
|
@baloo some merge conflicts in the tests. Edit: oof, a lot more now, sorry. I'm done for now. |
This make `FromStr` documented way to build a name. This also exposes a set of getter methods to get elements from the name (CN, Org, ...).
cb27b48 to
593176c
Compare
Member
|
Going to merge this both as an improvement and to avoid additional merge conflicts |
baloo
added a commit
to baloo/formats
that referenced
this pull request
Jul 6, 2026
Added - Serial number generator ([RustCrypto#1270]) - `DecodeValue` for `x509_cert::time::Time` ([RustCrypto#1986]) - `FromStr` for `x509_cert::time::Time` ([RustCrypto#1961]) - impl `Hash` for `Name` ([RustCrypto#1764]) - impl `Ord` for `CrlReason` ([RustCrypto#1869]) - `DirectoryString::BmpString` ([RustCrypto#1794]) - `Crl` builder ([RustCrypto#1759]) - `Time::now` method ([RustCrypto#1761]) - `Validity::infinity` helper ([RustCrypto#1528]) - `Validity::new` method ([RustCrypto#1529]) - Re-export `spki` types without `*Owned` suffixes ([RustCrypto#1534]) - `x509_cert::builder::AsyncBuilder` using `AsyncSigner` ([RustCrypto#1280]) Changed - Decompose `AsExtension` into `Criticality + AsExtension` ([RustCrypto#2109]) - Improve extension API flexibility and ergonomics ([RustCrypto#2120]) - Expose `Profile` in the `CrlBuilder` ([RustCrypto#1870]) - Ensure a serial number can be stored in a database ([RustCrypto#1868]) - Move the CSR builder `x509_cert::request` ([RustCrypto#1581]) - Rename `x509_cert::builder::Profile` to `BuilderProfile` ([RustCrypto#1514] && [RustCrypto#1517]) - `Name` is now a new type over `RdnSequence` ([RustCrypto#1499]) - make `RelativeDistinguishedName` fields private ([RustCrypto#1510]) - make `RdnSequence` fields private ([RustCrypto#1508]) - make (Tbs)`CertificateInner` fields private ([RustCrypto#1505]) - rename helpers to `get_extension`/`filter_extensions` ([RustCrypto#1497]) - `check_name_encoding` now allow extraneous components ([RustCrypto#1447]) - Accept RFC-invalid certificates as TrustAnchors ([RustCrypto#1403]) - Edition changed to 2024 and MSRV bumped to 1.85 ([RustCrypto#1689]) - Bump `rand` to `v0.10` ([RustCrypto#2212]) - Bump `der` to `v0.8` ([RustCrypto#2234]) - Bump `digest` to `v0.11` ([RustCrypto#2237]) - Bump `sha2` to `v0.11` ([RustCrypto#2273]) - Bump `spki` to `v0.8` ([RustCrypto#2277]) - Bump `signature` to `v3` ([RustCrypto#2326]) Fixed - Converting from `SystemTime` should use `UtcTime` if date <= 2049 ([RustCrypto#1969]) - Underflow on empty input in `Certificate::load_pem_chain` ([RustCrypto#1965]) - Domain validated should accept CNs ([RustCrypto#1815]) - Serialization of email addresses ([RustCrypto#1425]) Removed - Std requirement for `x509_cert::builder` ([RustCrypto#1709]) - `RelativeDistinguishedName::encode_from_string` ([RustCrypto#1509]) [RustCrypto#1270]: RustCrypto#1270 [RustCrypto#1280]: RustCrypto#1280 [RustCrypto#1403]: RustCrypto#1403 [RustCrypto#1425]: RustCrypto#1425 [RustCrypto#1447]: RustCrypto#1447 [RustCrypto#1497]: RustCrypto#1497 [RustCrypto#1499]: RustCrypto#1499 [RustCrypto#1505]: RustCrypto#1505 [RustCrypto#1508]: RustCrypto#1508 [RustCrypto#1509]: RustCrypto#1509 [RustCrypto#1510]: RustCrypto#1510 [RustCrypto#1514]: RustCrypto#1514 [RustCrypto#1517]: RustCrypto#1517 [RustCrypto#1528]: RustCrypto#1528 [RustCrypto#1529]: RustCrypto#1529 [RustCrypto#1534]: RustCrypto#1534 [RustCrypto#1581]: RustCrypto#1581 [RustCrypto#1689]: RustCrypto#1689 [RustCrypto#1709]: RustCrypto#1709 [RustCrypto#1759]: RustCrypto#1759 [RustCrypto#1761]: RustCrypto#1761 [RustCrypto#1764]: RustCrypto#1764 [RustCrypto#1794]: RustCrypto#1794 [RustCrypto#1815]: RustCrypto#1815 [RustCrypto#1868]: RustCrypto#1868 [RustCrypto#1869]: RustCrypto#1869 [RustCrypto#1870]: RustCrypto#1870 [RustCrypto#1961]: RustCrypto#1961 [RustCrypto#1965]: RustCrypto#1965 [RustCrypto#1969]: RustCrypto#1969 [RustCrypto#1986]: RustCrypto#1986 [RustCrypto#2109]: RustCrypto#2109 [RustCrypto#2120]: RustCrypto#2120 [RustCrypto#2212]: RustCrypto#2212 [RustCrypto#2234]: RustCrypto#2234 [RustCrypto#2237]: RustCrypto#2237 [RustCrypto#2273]: RustCrypto#2273 [RustCrypto#2277]: RustCrypto#2277 [RustCrypto#2326]: RustCrypto#2326
baloo
added a commit
to baloo/formats
that referenced
this pull request
Jul 6, 2026
Added - Serial number generator ([RustCrypto#1270]) - `DecodeValue` for `x509_cert::time::Time` ([RustCrypto#1986]) - `FromStr` for `x509_cert::time::Time` ([RustCrypto#1961]) - impl `Hash` for `Name` ([RustCrypto#1764]) - impl `Ord` for `CrlReason` ([RustCrypto#1869]) - `DirectoryString::BmpString` ([RustCrypto#1794]) - `Crl` builder ([RustCrypto#1759]) - `Time::now` method ([RustCrypto#1761]) - `Validity::infinity` helper ([RustCrypto#1528]) - `Validity::new` method ([RustCrypto#1529]) - Re-export `spki` types without `*Owned` suffixes ([RustCrypto#1534]) - `x509_cert::builder::AsyncBuilder` using `AsyncSigner` ([RustCrypto#1280]) Changed - Decompose `AsExtension` into `Criticality + AsExtension` ([RustCrypto#2109]) - Improve extension API flexibility and ergonomics ([RustCrypto#2120]) - Expose `Profile` in the `CrlBuilder` ([RustCrypto#1870]) - Ensure a serial number can be stored in a database ([RustCrypto#1868]) - Move the CSR builder `x509_cert::request` ([RustCrypto#1581]) - Rename `x509_cert::builder::Profile` to `BuilderProfile` ([RustCrypto#1514] && [RustCrypto#1517]) - `Name` is now a new type over `RdnSequence` ([RustCrypto#1499]) - make `RelativeDistinguishedName` fields private ([RustCrypto#1510]) - make `RdnSequence` fields private ([RustCrypto#1508]) - make (Tbs)`CertificateInner` fields private ([RustCrypto#1505]) - rename helpers to `get_extension`/`filter_extensions` ([RustCrypto#1497]) - `check_name_encoding` now allow extraneous components ([RustCrypto#1447]) - Accept RFC-invalid certificates as TrustAnchors ([RustCrypto#1403]) - Edition changed to 2024 and MSRV bumped to 1.85 ([RustCrypto#1689]) - Bump `rand` to `v0.10` ([RustCrypto#2212]) - Bump `der` to `v0.8` ([RustCrypto#2234]) - Bump `digest` to `v0.11` ([RustCrypto#2237]) - Bump `sha2` to `v0.11` ([RustCrypto#2273]) - Bump `spki` to `v0.8` ([RustCrypto#2277]) - Bump `signature` to `v3` ([RustCrypto#2326]) Fixed - Converting from `SystemTime` should use `UtcTime` if date <= 2049 ([RustCrypto#1969]) - Underflow on empty input in `Certificate::load_pem_chain` ([RustCrypto#1965]) - Domain validated should accept CNs ([RustCrypto#1815]) - Serialization of email addresses ([RustCrypto#1425]) Removed - Std requirement for `x509_cert::builder` ([RustCrypto#1709]) - `RelativeDistinguishedName::encode_from_string` ([RustCrypto#1509]) [RustCrypto#1270]: RustCrypto#1270 [RustCrypto#1280]: RustCrypto#1280 [RustCrypto#1403]: RustCrypto#1403 [RustCrypto#1425]: RustCrypto#1425 [RustCrypto#1447]: RustCrypto#1447 [RustCrypto#1497]: RustCrypto#1497 [RustCrypto#1499]: RustCrypto#1499 [RustCrypto#1505]: RustCrypto#1505 [RustCrypto#1508]: RustCrypto#1508 [RustCrypto#1509]: RustCrypto#1509 [RustCrypto#1510]: RustCrypto#1510 [RustCrypto#1514]: RustCrypto#1514 [RustCrypto#1517]: RustCrypto#1517 [RustCrypto#1528]: RustCrypto#1528 [RustCrypto#1529]: RustCrypto#1529 [RustCrypto#1534]: RustCrypto#1534 [RustCrypto#1581]: RustCrypto#1581 [RustCrypto#1689]: RustCrypto#1689 [RustCrypto#1709]: RustCrypto#1709 [RustCrypto#1759]: RustCrypto#1759 [RustCrypto#1761]: RustCrypto#1761 [RustCrypto#1764]: RustCrypto#1764 [RustCrypto#1794]: RustCrypto#1794 [RustCrypto#1815]: RustCrypto#1815 [RustCrypto#1868]: RustCrypto#1868 [RustCrypto#1869]: RustCrypto#1869 [RustCrypto#1870]: RustCrypto#1870 [RustCrypto#1961]: RustCrypto#1961 [RustCrypto#1965]: RustCrypto#1965 [RustCrypto#1969]: RustCrypto#1969 [RustCrypto#1986]: RustCrypto#1986 [RustCrypto#2109]: RustCrypto#2109 [RustCrypto#2120]: RustCrypto#2120 [RustCrypto#2212]: RustCrypto#2212 [RustCrypto#2234]: RustCrypto#2234 [RustCrypto#2237]: RustCrypto#2237 [RustCrypto#2273]: RustCrypto#2273 [RustCrypto#2277]: RustCrypto#2277 [RustCrypto#2326]: RustCrypto#2326
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This make
FromStrdocumented way to build a name. This also exposes a set of getter methods to get elements from the name (CN, Org, ...).see:
Name#1489Name#1493