feat: X509 in MSO signer and further coeherence checks#35
Open
peppelinux wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request adds support for issuing Mobile Security Objects (MSOs) and mDOCs with a full X.509 certificate chain in the COSE
x5chainheader (label 33), following RFC 9360. It introduces a newx509_chainparameter to bothMsoIssuerandMdocCborIssuer.new(), allowing flexible input types (file paths, bytes, orCertificateobjects), and ensurescert_pathandx509_chainare mutually exclusive. The update is thoroughly documented and tested, improving standards compliance and interoperability.X.509 Chain Support and API Changes
x509_chainparameter toMsoIssuerandMdocCborIssuer.new()for embedding a full X.509 certificate chain in the COSEx5chainheader (label 33), supporting file paths, bytes, orCertificateobjects as input.cert_pathandx509_chainare now mutually exclusive. [1] [2] [3] [4] [5] [6] [7]encode_x5chainutility for encoding the chain, supporting both single and multiple certificates per RFC 9360.X.509 Utility Functions
X509ChainSourcetype and utility functions (load_x509_certificates_from_bytes,load_x509_certificates_from_source,encode_x5chain) to handle flexible loading and encoding of X.509 chains for COSE headers.Testing Enhancements
x509_chainfunctionality, including single and multiple certificate chains, mutual exclusivity withcert_path, and integration with bothMsoIssuerandMdocCborIssuer. [1] [2]Documentation Updates
README.md,docs/CERTIFICATE-CHAIN-VERIFICATION.md, anddocs/MSO.mdto describe the newx509_chainparameter, usage patterns, and RFC 9360 compliance. [1] [2] [3]Other Improvements
1.3.0.cborlist2CoseSign1to accept both lists and tuples.