Skip to content
This repository has been archived by the owner on Nov 10, 2022. It is now read-only.

Issue #178: Describe how to validate an SCT #259

Merged
merged 1 commit into from Jun 16, 2017

Conversation

eranmes
Copy link
Contributor

@eranmes eranmes commented May 12, 2017

Detail the TransItem that has to be constructed as the input to the
signature validation phase, when validating SCTs.

* `timestamp` is copied from the SCT.
* `tbs_certificate` is the TBSCertificate portion of the server certificate.
* `issuer_key_hash` is extracted from certificate in the chain that certified
the server certificate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is a "the" missing in the "issuer_key_hash" description?

* `issuer_key_hash` is extracted from the certificate in the chain that certified the server certificate.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, fixed.

structure is constructed in the following manner:

* `timestamp` is copied from the SCT.
* `tbs_certificate` is the TBSCertificate portion of the server certificate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this link to the "Reconstructing the TBSCertificate" section?

"is the TBSCertificate portion of the server certificate" is too simplistic. Embedded SCTs need to be removed too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

* `timestamp` is copied from the SCT.
* `tbs_certificate` is the TBSCertificate portion of the server certificate.
* `issuer_key_hash` is extracted from the certificate in the chain that
certified the server certificate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"extracted" seems to suggest that the issuer_key_hash field is actually present in the issuer certificate, when in fact it needs to be computed from the public key in the issuer certificate.

How about simplifying this sentence to...
"issuer_key_hash" is computed as described in section 4.5
?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

certified the server certificate.
* `sct_extensions` is copied from the SCT.

The signature (from the SCT's `signature` field) is then verified using the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be shortened to:
The SCT's "signature" is then verified using..."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

* `sct_extensions` is copied from the SCT.

The signature (from the SCT's `signature` field) is then verified using the
corresponding log's public key (identified by the `log_id` field).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"log_id" doesn't identify the log's public key, per se. Rather, it identifies the log.
Also, we should mention that the signature algorithm is one of the log's parameters.

Something like this:
The SCT's "signature" is then verified using the public key of the corresponding log, which is identified by the "log_id". The required signature algorithm is one of the log's parameters."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done (though I'd have left it saying "using the corresponding log's public key, which is...")

@eranmes
Copy link
Contributor Author

eranmes commented Jun 15, 2017

@robstradling PTAL

Copy link
Contributor

@robstradling robstradling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one minor nit.

* `timestamp` is copied from the SCT.
* `tbs_certificate` is the reconstructed TBSCertificate portion of the server
certificate, as described in {{reconstructing_tbscertificate}}.
* `issuer_key_hash` is is computed as described in {{tree_leaves}}.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/is is/is/

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Detail the TransItem that has to be constructed as the input to the
signature validation phase, when validating SCTs.
@eranmes
Copy link
Contributor Author

eranmes commented Jun 15, 2017

@robstradling PTAL.

@robstradling robstradling merged commit d04286f into google:master Jun 16, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
3 participants