Skip to content

wknet

A pure kernel-mode HTTP/HTTPS/WebSocket/SSE client library for Windows drivers.

Transport main path is WSK; cryptography main path is kernel CNG/BCrypt. No WinHTTP, WinINet, or SChannel. Public API namespaces: wknet::http, wknet::websocket, wknet::sse, wknet::crypto, wknet::codec.

Scope

wknet is a kernel-mode HTTP/HTTPS/WebSocket/SSE client. It is for drivers that issue requests and want explicit security defaults, with one product API across HTTP/1.1, HTTP/2, and HTTP/3.

It does not provide an HTTP server or inbound request parser, and it does not ship a system CA store. Features such as QUIC migration and WebTransport are not supported today; see the capability matrix.

Integration notes

  • Call sync paths at PASSIVE_LEVEL. Public handles are heap objects; pair Create with Close / Release.
  • Trust anchors, CA bundles, pins, and revocation evidence are caller-supplied. Hostname verification does not fall back to CN.
  • Trace defaults to Off. HTTP/3 defaults to Auto and learns from authenticated Alt-Svc.

Start here

  1. Build — produce wknetlib.lib
  2. First request — minimal GET / POST
  3. Integration notes — link, lifetime, trust
  4. Capability matrix — support scope and limits

Recipes: Cookbook. Signatures: API overview.