Tapline.Client.Opaque
0.2.0
dotnet add package Tapline.Client.Opaque --version 0.2.0
NuGet\Install-Package Tapline.Client.Opaque -Version 0.2.0
<PackageReference Include="Tapline.Client.Opaque" Version="0.2.0" />
<PackageVersion Include="Tapline.Client.Opaque" Version="0.2.0" />
<PackageReference Include="Tapline.Client.Opaque" />
paket add Tapline.Client.Opaque --version 0.2.0
#r "nuget: Tapline.Client.Opaque, 0.2.0"
#:package Tapline.Client.Opaque@0.2.0
#addin nuget:?package=Tapline.Client.Opaque&version=0.2.0
#tool nuget:?package=Tapline.Client.Opaque&version=0.2.0
Tapline.Client.Opaque
A .NET client's password sign-in to Tapline by OPAQUE (RFC 9807): the password stretched here (Argon2id), never sent, the router relaying KE1, KE2 and KE3 to the realm's OPAQUE module (Tapline.Wasm). opaque-ke 4.0.1 (ristretto255, Argon2id) as WebAssembly, run by Wasmtime: the same module the browser runs.
var opaque = OpaqueCrypto.Load(); // once: compiling the module takes a moment
var result = await client.SignInWithPasswordAsync(opaque, "north", "alice", password);
Disclaimer: opaque-ke was reviewed by NCC Group in 2021, at v0.5.0 (its fixes in v1.2.0), for WhatsApp's encrypted backups. That review does not cover opaque-ke 4.0.1, nor this package's own code, which has not been reviewed.
Documentation
License
Apache-2.0, provided "AS IS", without warranties or conditions of any kind.
The crates built into the module are listed in THIRD-PARTY-NOTICES.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Tapline.Client (>= 0.2.0)
- Wasmtime (>= 48.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tapline.Client.Opaque:
| Package | Downloads |
|---|---|
|
Tapline.Wasm
Tapline's WebAssembly, run by Wasmtime: a data provider's folds, finalizers and stale-data functions as sandboxed modules, fuel- and memory-bounded on the router; and password sign-in by OPAQUE (RFC 9807), a module of Tapline's authentication in which the password never leaves the client — on the server, and in the browser (opaque.mjs, tapline-opaque.mjs). |
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial public release.