-
Notifications
You must be signed in to change notification settings - Fork 86
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
Merge TLS1.3 Feature Branch into Main #406
Draft
developStorm
wants to merge
43
commits into
master
Choose a base branch
from
refactor/tls13-merge-attempt-3
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains 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
Member
developStorm
commented
Feb 18, 2025
•
edited
Loading
edited
- Passes Go unit tests
- ZGrab works with this branch and negotiates TLS13 correctly
- Larger scale test with Censys
* [DRAFT] Handshake logs * Removed heartbleed * Added handshake logs for ZGrab2 * Added handshake logs for ZGrab2 * TLS1.3: added cert logs * TLS1.3: adding keyAgreement logs * TLS1.3: log SignatureAndHashes * TLS1.3: log SupportedCurves * TLS1.3: log ServerKeyExchange * TLS 1.3: adding legacy Key Agreement algs
Co-authored-by: Denis Issoupov <dissoupov@dissoupov-ltl.internal.salesforce.com>
* Extract and output session ticket lifetime hint This restores the functionality from commit db98bd3, on the TLSv13 branch * tls: support ForceSessionTicketExt for ticketSupported
For TLS 1.3 connections, SupportedVersions.SelectedVersions will be present, and be 0x0304. Add this to the HandshakeLog, if present.
Do not overwrite collected server certs when we are asked for a client cert.
#331) * Added extension IDs for Server Hello messages to handshake log * Added marshalling capabilities for unknown extensions with empty data * Switched to extension extract function on serverHelloMsg * Re-added whitespace break
…erNotice (#334) * x509: make jsonifyExtensions() public * Certificate Policies: add grouped user notices field The separate fields for NoticeReferencNumbers, NoticeRefOrganization, and ExplicitTexts introduce ambiguity since these fields are structured and optional in the source data. A certificate with a mixture of UserNotices that have only one of ExplicitText or NoticeReference would previously be impossible to reconstruct. Add a new field, UserNotices, which preserved the original grouping of values, leaving the old format exposed in place, so that this case can be reconstructed without breaking existing usage.
Add option for CT log client to emit unparseable certs
Prior to the TLS 1.3 backport, there was a type assertion to make sure that cert.PublicKey.(*rsa.PublicKey) was true. This was lost in the backport work, and while very rare we did recently hit a case where this assertion is not true. Doing it inline in the call leads to a panic. This restores the prior type assertion check, and returns err if it fails.
Expose 'validSignature' field
The x509 package sets this field true when it finds a valid signature while validating certificates; copy the behavior here for consistency.
verifier: set ValidSignature field
Run go fmt to fix CI
verifier: add AppendFromPEMErr method
verifier: set ValidSignature for certificates in the graph
pkix: marshal nonstandard name attributes only once
* make extension parsing more permissive * allow permissive errros through on server certs
ignore permissive errors
A change in ECDSA signature generation made old flow data incompatible with newer Go versions: golang/go@08f2091
This reverts commit 90dd94c.
A change in ECDSA signature generation made old flow data incompatible with newer Go versions: golang/go@08f2091
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.