SharpTls 0.9.0-preview.5
dotnet add package SharpTls --version 0.9.0-preview.5
NuGet\Install-Package SharpTls -Version 0.9.0-preview.5
<PackageReference Include="SharpTls" Version="0.9.0-preview.5" />
<PackageVersion Include="SharpTls" Version="0.9.0-preview.5" />
<PackageReference Include="SharpTls" />
paket add SharpTls --version 0.9.0-preview.5
#r "nuget: SharpTls, 0.9.0-preview.5"
#:package SharpTls@0.9.0-preview.5
#addin nuget:?package=SharpTls&version=0.9.0-preview.5&prerelease
#tool nuget:?package=SharpTls&version=0.9.0-preview.5&prerelease
SharpTls
Own the handshake. Shape every byte.
SharpTls is a pure managed C# TLS stack for .NET 9+ with uTLS-style, byte-exact
ClientHello control. It implements TLS directly over caller-owned transports and
does not use SslStream, native TLS libraries, P/Invoke, proxies or external processes.
Install
dotnet add package SharpTls --prerelease
Minimal client
using SharpTls;
var options = new CustomTlsClientOptions
{
ServerName = "example.com",
ClientHello = ClientHelloProfiles.Custom(builder => builder
.WithTls13()
.WithAlpn("http/1.1")),
};
await using var client = new CustomTlsClient(options);
await client.ConnectAsync("example.com", 443, cancellationToken);
await using var tls = client.OpenApplicationStream(leaveClientOpen: true);
await tls.WriteAsync(requestBytes, cancellationToken);
var bytesRead = await tls.ReadAsync(responseBuffer, cancellationToken);
Included surface
- Exact semantic/raw extension layout, cipher suites, groups, key shares, signatures, versions, SNI, ALPN, GREASE, padding, session ID and record fragmentation.
- Forty pinned upstream uTLS wire IDs, coherent randomization, bounded origin-aware Roller, capture import, strict JSON v6 and defensive pre-send inspection.
- TLS 1.3 and a deliberately restricted TLS 1.2 client/server core.
- System chain and hostname validation by default, explicit lab-only trust bypass, configurable revocation-availability policy, RSA-PSS/ECDSA authentication, resumption, external PSK, replay-gated 0-RTT, KeyUpdate, exporters and client certificates.
- RFC 9849 ECH, RFC 9848 HTTPS/SVCB discovery, X25519MLKEM768, delegated credentials, certificate compression and recordless QUIC-TLS client/server adapters.
HTTP/2, HTTP/3, generic HttpClient integration and full QUIC transport are outside
the TLS library boundary.
SharpTls is pre-1.0. Independent cryptographic review and hosted release evidence remain explicit 1.0 gates. Review the repository security policy and exact supported surface before production adoption.
The package contains the complete documentation set, security policy, changelog, license and third-party notices. The package project URL points to the source repository for current guides, examples and issue reporting.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.9.0-preview.5 | 75 | 7/21/2026 |
| 0.9.0-preview.4 | 59 | 7/18/2026 |
Pre-1.0 preview. See CHANGELOG.md and docs/RELEASE-HARDENING.md for changes and release gates.