Skip to content

Commit f201689

Browse files
authored
docs: add ALPN section to TLS and link to inlined muxer negotiation (#662)
Adds note about which ALPN protocol to use and links to spec for inlining muxer negotiation. Avoids things like libp2p/jvm-libp2p#404 Fixes #607 Fixes #496
1 parent bdd415c commit f201689

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

tls/tls.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ and spec status.
2727
- [Handshake Protocol](#handshake-protocol)
2828
- [Peer Authentication](#peer-authentication)
2929
- [libp2p Public Key Extension](#libp2p-public-key-extension)
30+
- [ALPN](#alpn)
31+
- [Inlined Muxer Negotiation](#inlined-muxer-negotiation)
3032
- [Test vectors](#test-vectors)
3133
- [1. Valid certificate authenticating an ED25519 Peer ID](#1-valid-certificate-authenticating-an-ed25519-peer-id)
3234
- [2. Valid certificate authenticating an ECDSA Peer ID](#2-valid-certificate-authenticating-an-ecdsa-peer-id)
@@ -122,6 +124,16 @@ How the public key is encoded into the `Data` bytes depends on the Key Type.
122124
- `Secp256k1`: Only the compressed form of the public key. 33 bytes.
123125
- The rest of the keys are encoded as a [SubjectPublicKeyInfo structure](https://www.rfc-editor.org/rfc/rfc5280.html#section-4.1) in PKIX, ASN.1 DER form.
124126

127+
## ALPN
128+
129+
"libp2p" is used as the application protocol for [ALPN](https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation).
130+
131+
The server MUST abort the handshake if it doesn't support any of the application protocols offered by the client.
132+
133+
## Inlined Muxer Negotiation
134+
135+
See [Multiplexer Negotiation over TLS](../connections/inlined-muxer-negotiation.md#multiplexer-negotiation-over-tls).
136+
125137
## Test vectors
126138

127139
The following items present test vectors that a compatible implementation should pass.

0 commit comments

Comments
 (0)