Add initial support for encoding/decoding cert payloads #64
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.
Overview
Add support for generating a certificate metadata payload in JSON format from a specified metadata payload format version.
Add support for support for decoding a given (valid) certificate metadata payload. The format is automatically detected from a list of valid format versions.
The intent is to support all stable format versions indefinitely.
As of this commit / PR, format 0 is still under active development. This format version is an "unstable" metadata format and is not covered by this goal; format version 0 is subject to change often as development continues. Format version 1 is implemented at this time as a stub version for testing purposes; once stable the plan is to promote version 0 content as the initial version 1.
Changes
Primary changes:
Encode
function from a specific format version or by calling the top-levelEncode
function and specifying a valid format version number (e.g.,0
or1
)0
,1
)Decode
function for that format version is usedcheck_cert
plugin to specify what version of the payload format they wish to createcheck_cert
plugin in the same fixed version as the one they asked thecheck_cert
plugin to createOther changes:
formats.md
doc file proving backstory, goals and some details regarding initial implementation and where it fell short of the initial (and more ergonomic) goalsREADME.md
with minor reference to the design doc and references to current implementation workReferences
CertificateChainIssues.MisorderedCerts
field #19