Jwt.sig.check: def of bend-kit-jwt@0.11.0.1 Import: import bend-kit-jwt@0.11.0.1/jwt.bend as Jwt Lines 501-519 of bend-kit-jwt@0.11.0.1/jwt.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&start_line=501&end_line=519 import Base import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # Does sig sign input under key for alg? A key of the wrong kind fails with KeyType before any crypto. def sig.check(a: Alg, key: Key, input: Bytes.Bytes, sig: Bytes.Bytes) -> IO(Result<&1, &1, Err, Bool>): match a key: case HS256{} Hmac{k}: mac.check("SHA256", 32, k, input, sig) case HS384{} Hmac{k}: mac.check("SHA384", 48, k, input, sig) case HS512{} Hmac{k}: mac.check("SHA512", 64, k, input, sig) case RS256{} Pem{p}: rsa.pem(p, input, sig) case RS256{} Rsa{n, e}: rsa.jwk(n, e, input, sig) case ES256{} Pem{p}: ec.pem(p, input, sig) case ES256{} Ec{x, y}: ec.jwk(x, y, input, sig) case _ _: IO.pure(Result<&1, &1, Err, Bool>, Fail{KeyType{}}) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=Alg https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=Err https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=Key https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=ec.jwk https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=ec.pem https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=mac.check https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=rsa.jwk https://jend.leeeet.dev/definition.txt?path=bend-kit-jwt@0.11.0.1/jwt.bend&name=rsa.pem