Skip to content
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

[Todo] Using rasn instead of deku #3

Open
duskmoon314 opened this issue Dec 28, 2022 · 3 comments
Open

[Todo] Using rasn instead of deku #3

duskmoon314 opened this issue Dec 28, 2022 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@duskmoon314
Copy link
Member

Many responses of ct log are base64 encoded ASN.1. Thus, using rasn is more meaningful.

@duskmoon314 duskmoon314 added the enhancement New feature or request label Dec 28, 2022
@mpalmer
Copy link

mpalmer commented May 23, 2023

Most of the binary-encoded data structures aren't ASN.1, they're... whatever you want to call TLS' ideosyncratic packed encoding. Point a DER parser at the base64-decoded leaf_input, for instance, and it won't have the foggiest idea what to do.

@duskmoon314
Copy link
Member Author

In my understanding, DER is a part of ASN.1. The original thought is to use some crates instead of a self-maintained structure of the TLS certificate.

Though currently I don't have much time on this.

@mpalmer
Copy link

mpalmer commented May 25, 2023

Yes, DER is a standardised encoding of ASN.1, which is itself an abstract notation for structured data.

From what I can see, you're already using a DER parser for the parts that can benefit from one -- specifically, turning the X.509 certificates (leaf and poisoned precert) into a useful structure, using x509_parser. The other data structures that are currently using deku are not DER-encoded, and are instead either JSON or the packed-value format specified in the TLS RFCs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants