-
Notifications
You must be signed in to change notification settings - Fork 173
Add an x501 crate
#377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an x501 crate
#377
Conversation
Yeah that's cool, it's how we're treating |
|
I'll mod x509 to reference that soonish and drop the corresponding types from there. OCSP can be born referencing this. |
|
@carl-wallace x509 is already included in this commit. |
|
Another fun application would be adding an If nothing else, it would make it easier to round trip RFC test vectors that include attributes. |
|
I forgot to fix up the GitHub Actions workflows. Adding those now. |
|
OK. I'll update x509, mod certval/pittv3 and OCSP will reference this from the outset. |
|
Ok. All the actions are updated and all the tests pass. I think this is ready for review. |
x501/src/name.rs
Outdated
| /// ``` | ||
| /// | ||
| /// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 | ||
| pub type RDNSequence<'a> = alloc::vec::Vec<RelativeDistinguishedName<'a>>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Idiomatic Rust naming has generally moved to "capitalized acronyms", which is to say the first letter of an acronym is capitalized. See https://rust-lang.github.io/api-guidelines/naming.html
In
UpperCamelCase, acronyms and contractions of compound words count as one word: useUuidrather thanUUID,Usizerather thanUSizeorStdinrather thanStdIn.
| pub type RDNSequence<'a> = alloc::vec::Vec<RelativeDistinguishedName<'a>>; | |
| pub type RdnSequence<'a> = alloc::vec::Vec<RelativeDistinguishedName<'a>>; |
There are clippy lints for this on structs, but apparently not on type aliases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was all caps in the previous version. So I just copied that. Fixed now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit re: RDNSequence naming but otherwise looks good.
Edit: two nits!
| [package] | ||
| name = "x501" | ||
| version = "0.1.0" # Also update html_root_url in lib.rs when bumping this | ||
| edition = "2021" | ||
|
|
||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
|
||
| [dev-dependencies] | ||
| hex-literal = "0.3" | ||
|
|
||
| [dependencies] | ||
| der = { version = "=0.6.0-pre.0", features = ["derive", "alloc", "oid"], path = "../der" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might include a slightly more complete Cargo.toml looking off one of the other crates as a reference.
We generally include license information, links to the repository, keywords, categories, specify the README.md name, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops! I meant to do that before pushing but obviously forgot. Fixed now.
This crate consolidates the attribute and name types from the `x509` and `pkcs10` crates. The `pkcs10` crate now depends on `x501` rather than `x509`. It should now be simpler to release a version of `x501` and `pkcs10` without requiring a full release of `x509`. Note that unlike `spki`, x501 requires both `derive` and `alloc`. Signed-off-by: Nathaniel McCallum <nathaniel@profian.com>
This crate consolidates the attribute and name types from the
x509andpkcs10crates. Thepkcs10crate now depends onx501rather thanx509.It should now be simpler to release a version of
x501andpkcs10withoutrequiring a full release of
x509.Note that unlike
spki, x501 requires bothderiveandalloc.Signed-off-by: Nathaniel McCallum nathaniel@profian.com