dvDevClientTunnelProof function

String dvDevClientTunnelProof(
  1. DVDevClientSigner signer,
  2. String nonce
)

The X-Dartvel-Proof header answering nonce: a raw ES256 signature, base64url, by the key the device paired with.

The device refuses a connection without it before sending anything, so a machine that has the token but not the key -- anything that saw the link go over the network -- cannot have a device's VM service tunnelled to it.

Implementation

String dvDevClientTunnelProof(DVDevClientSigner signer, String nonce) =>
    dvWebPushBase64Encode(signer.sign(dvDevClientTunnelChallenge(nonce)));