def sig.check
bend-kit-jwt@0.11.0.1 · jwt.bend:501
import bend-kit-jwt@0.11.0.1/jwt.bend as Jwt
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
501
502def sig.check(a: Alg, key: Key, input: Bytes.Bytes, sig: Bytes.Bytes) -> IO(Result<&1, &1, Err, Bool>):
503 match a key:
504 case HS256{} Hmac{k}:
505 mac.check("SHA256", 32, k, input, sig)
506 case HS384{} Hmac{k}:
507 mac.check("SHA384", 48, k, input, sig)
508 case HS512{} Hmac{k}:
509 mac.check("SHA512", 64, k, input, sig)
510 case RS256{} Pem{p}:
511 rsa.pem(p, input, sig)
512 case RS256{} Rsa{n, e}:
513 rsa.jwk(n, e, input, sig)
514 case ES256{} Pem{p}:
515 ec.pem(p, input, sig)
516 case ES256{} Ec{x, y}:
517 ec.jwk(x, y, input, sig)
518 case _ _:
519 IO.pure(Result<&1, &1, Err, Bool>, Fail{KeyType{}})