InitialSecrets class
QUIC Initial Secret derivation per RFC 9001 Section 5.2.
QUIC version 1 and version 2 (RFC 9369) use different fixed initial
salts when deriving Initial keys. Pass the negotiated version to
derive so that the correct salt is selected; the default is
QuicVersions.v1 for backward compatibility.
See also:
- initialSalt — QUIC v1 salt (RFC 9001 §5.2)
- v2InitialSalt — QUIC v2 salt (RFC 9369 §3.3.1)
- QuicVersions — version constants
Constructors
- InitialSecrets()
- Creates an Initial secrets helper (all methods are static).
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
-
initialSalt
→ List<
int> -
QUIC v1 fixed initial salt (RFC 9001 Section 5.2).
final
-
v2InitialSalt
→ List<
int> -
QUIC v2 fixed initial salt (RFC 9369 Section 3.3.1).
final
Static Methods
-
derive(
List< int> destinationConnectionId, {required CryptoBackend backend, int version = QuicVersions.v1}) → Future<({SecretKey clientSecret, SecretKey serverSecret})> - Derive client and server initial secrets from the destination connection ID.
-
saltForVersion(
int version) → List< int> -
Returns the initial salt appropriate for
version.