-
Notifications
You must be signed in to change notification settings - Fork 132
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
x509-cert: add Signed Certificate Timestamp (SCT) extension support #1134
Conversation
The DeserializeBytes impl of TlsByteVecUX did not skip the length prefix bytes.
e15c95e
to
9f8b106
Compare
This reverts commit 73e6f26.
@imor What's the status of the PR? We're using x509-cert in sigstore-rs and we'd like to parse Signed Certificate Timestamps. By the way, thanks for this! |
@tnytown the only thing pending is this TODO. Basically this PR is waiting for a new release of @franziskuskiefer, @tarcieri when is the next planned release for |
I can potentially cut a release of |
I plan to do one next week or so with couple changes. But if there's the need for an earlier one, I can do one before. |
@franziskuskiefer gentle ping on the |
I prepared the release. There are a couple small things that need to get fixed but I think I can do the release today or tomorrow latest. |
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.
I release tls_codec 0.4.0. There's one breaking change there. I commented on that here. With the rename here, this PR works as is.
/// ED25519 signature algorithm. | ||
Ed25519 = 7, | ||
/// ED448 signature algorithm. | ||
Ed448 = 8, |
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.
Just out of curiosity: what RFC/doc do these enum members appear in? They aren't in the TLS 1.2 or 1.3 RFCs.
(The closest thing in 1.3 is SignatureScheme
, which has 0x807
and 0x808
for Ed25519 and Ed448 respectively.)
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.
I think this is mostly that: SignatureAndHashAlgorithm
is SignatureScheme
in TLS1.3. The first byte encodes for the hash alg, the second byte encodes for signature alg?
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.
Not a maintainer, but I did a review based on what downstreams like sigstore-rs
need and this LGTM!
#[derive(Debug, PartialEq)] | ||
pub struct SignedCertificateTimestampList(OctetString); | ||
|
||
//TODO: Remove this and use const-oid's rfc6962::CT_PRECERT_SCTS once a const-oid version |
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.
TODO(baloo): make a backport of #1094 and publish a release on 0.9
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.
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.
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.
Will leave this in for now but we can address it as a followup
Co-authored-by: Arthur Gautier <[email protected]>
This PR adds support for Signed Certificate Timestamp extension to the
x509-cert
crate. Since the structures in SCT extension are TLS encoded we need to add a dependency on thetls_codec
crate. This dependency has been made an optional dependency which is only enabled when the newly addedsct
feature is enabled.