-
Notifications
You must be signed in to change notification settings - Fork 172
Partial signed data impl #357
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
Partial signed data impl #357
Conversation
… definitions to work around macro-related issues. Notes on non-use of macros
In trust_anchor_format.rs
- Choice was not used on TrustAnchorChoice owing to types not available in Asn1Type enum
- Sequence was not used on TrustAnchorInfo owing to lack of DecodeValue required by context_specific
error[E0277]: the trait bound `TrustAnchorInfo<'a>: DecodeValue<'_>` is not satisfied
--> x509/src/trust_anchor_format.rs:295:22
|
295 | .context_specific::<TrustAnchorInfo<'a>>(TAC_TA_INFO_TAG, TagMode::Explicit)?;
| ^^^^^^^^^^^^^^^^ the trait `DecodeValue<'_>` is not implemented for `TrustAnchorInfo<'a>`
|
note: required by a bound in `Decoder::<'a>::context_specific`
--> der/src/decoder.rs:172:12
|
172 | T: DecodeValue<'a> + FixedTag,
| ^^^^^^^^^^^^^^^ required by this bound in `Decoder::<'a>::context_specific`
- Sequence was not used on CertPathControls to use decode_implicit for each field (trailing bits were left using the default decoder even with mods to Certificate and NameConstraints)
In certificate.rs
- Sequence was not used on Certificate due to same issue as described above for TrustAnchorInfo (i.e., tension between use of DecodeValue and Decodable)
- Sequence was not used on NameConstraints for the same DecodeValue vs Decodable issue.
…tion to parse certs-only SignedData messages. The inclusion of SetOf<SignerInfo> caused several structs to need Ord and/or PartialOrd added.
|
A general note: the
|
spki/src/algorithm.rs
Outdated
| /// | ||
| /// [RFC 5280 Section 4.1.1.2]: https://tools.ietf.org/html/rfc5280#section-4.1.1.2 | ||
| #[derive(Copy, Clone, Debug, Eq, PartialEq)] | ||
| #[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)] |
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.
This type already impls ValueOrd
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.
Dropped Ord and PartialOrd from AlgorithmIdentifier and SignerInfo. Stubbed out ValueOrd for SignerInfo (not needed now and CMS is well short of complete at present).
…ed out ValueOrd for SignerInfo (not needed for dealing with certs-only SignedData structures)
|
Close pending refactoring to account for recent changes. |
add just enough CMS support to allow incoming path builder implementation to parse certs-only SignedData messages. The inclusion of SetOf caused several structs to need Ord and/or PartialOrd added.