tdppSignedMessage

fun tdppSignedMessage(base: String, params: Map<String, String>, keepTilde: Boolean = false): String

Build the message a TDPP request signature covers.

The message is base (the request URI without its query, for example "tdpp://shop.example/sendto"), then '?', then every parameter except "sig", sorted by name, as name=value joined by '&', with each (decoded) value encoded by tdppFormEncode.

Parameters

params

the request's decoded query parameters. A "sig" entry is ignored. Every name must be plain (see tdppPlainParamNames). To verify a received request use the tdppVerify that takes the query's pairs, so a repeated name is refused.

keepTilde

which of the two signer forms to build, see tdppFormEncode

Throws

if a parameter name is not plain

if a value is not valid UTF-16