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

Merge TLS1.3 Feature Branch into Main #406

Draft
wants to merge 43 commits into
base: master
Choose a base branch
from

Conversation

developStorm
Copy link
Member

@developStorm developStorm commented Feb 18, 2025

  • Passes Go unit tests
  • ZGrab works with this branch and negotiates TLS13 correctly
  • Larger scale test with Censys

dissoupov and others added 30 commits July 15, 2021 10:17
* [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.
The x509 package sets this field true when it finds a valid signature
while validating certificates; copy the behavior here for consistency.
verifier: add AppendFromPEMErr method
verifier: set ValidSignature for certificates in the graph
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants