Skip to content

Decode PVA in TLS via ALPN#14

Merged
mdavidsaver merged 1 commit intomasterfrom
pva-tls
Apr 26, 2025
Merged

Decode PVA in TLS via ALPN#14
mdavidsaver merged 1 commit intomasterfrom
pva-tls

Conversation

@mdavidsaver
Copy link
Owner

@mdavidsaver mdavidsaver commented Jul 18, 2023

Add decoding of PVA within TLS using the tls.alpn table provisionally using pva/1 as the protocol name string.

The test/pva-tls.pcapng.gz capture contains a TLS 1.3 session with the associated session keys embedded to it. So it can be dissected like any other capture.

wireshark -X lua_script:pva.lua test/pva-tls.pcapng.gz

The process to capture and embed session keys was:

wireshark -X lua_script:pva.lua &   # save capture as /tmp/pva.pcapng.gz
SSLKEYLOGFILE=/tmp/pva-secrets \
 pvget ...
editcap --inject-secrets tls,/tmp/pva-secrets /tmp/pva.pcapng.gz test/pva-tls.pcapng.gz

Alternately, the raw capture and keylog can be analyzed separately. (the keylog path can also be set through the GUI)

wireshark -X lua_script:pva.lua -o tls.keylog_file:/tmp/pva-secrets /tmp/pva.pcapng.gz

@kasemir @george-mcintyre To my mind, this wireshark feature alone is sufficient to justify using the ALPN extension.

see https://wiki.wireshark.org/TLS

@mdavidsaver
Copy link
Owner Author

Updated test/pva-tls.pcapng.gz with a session using client certificate and intermediate CA.

@mdavidsaver mdavidsaver marked this pull request as ready for review April 26, 2025 02:02
@mdavidsaver
Copy link
Owner Author

At this point I think the usage of TLS + ALPN "pva/1" is firm enough.

@mdavidsaver mdavidsaver merged commit 43740f2 into master Apr 26, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant