QR Certificate Check
Hybrid (Blockchain) — EIP‑712 + Issuer Registry
  1. Insert token
  2. Verify (API)
  3. AWS Lambda
  4. Issuer Registry (Ethereum)
  5. DynamoDB Check
  6. Result

How to use this page

  1. Insert token: paste the Base64URL token in the console (right/up) and click Insert token.
  2. Verify: click Verify Token. The app calls your API: /verify?t=....
  3. Read the result: the status shows as Active, Suspended, or Withdrawn with public certificate fields.
  4. (Optional) Download QR: generate a QR of the same URL to print or share.

What happens when you press “Verify”

AWS / ChainWhat it does on Verify
API GatewayReceives the request at /verify?t=... and forwards it to Lambda.
AWS LambdaDecodes the token → validates timestamp → verifies signature → loads certId from DynamoDB → recomputes keccak256(canonicalString) and compares to certHash → returns status & public fields.
Issuer Registry (Ethereum)Verifies the EIP‑712 signature and checks that the recovered signer is authorized on‑chain (registry.isAuthorized(address)).
Amazon DynamoDBHolds certificate records keyed by certId (fields: status, issuerLab, standard, officialLink, canonicalString).

À propos de cette démo

Comment utiliser cette page

  1. Insérer le jeton : collez le jeton Base64URL dans la console (à droite/en haut) puis cliquez Insert token.
  2. Vérifier : cliquez Verify Token. L’application appelle votre API : /verify?t=....
  3. Lire le résultat : l’état s’affiche en Active, Suspended ou Withdrawn avec les champs publics.
  4. (Optionnel) Télécharger le QR : générez un QR du même lien pour impression/partage.

Ce qui se passe lors de “Verify”

ServiceRôle pendant la vérification
API GatewayReçoit la requête /verify?t=... et la transmet à Lambda.
AWS LambdaDécode le jeton → valide la fenêtre temporelle → vérifie la signature → charge le certId depuis DynamoDB → recalcule keccak256(canonicalString) et compare à certHash → renvoie l’état & les champs publics.
Issuer Registry (Ethereum)Vérifie la signature EIP‑712 et contrôle que le signataire récupéré est autorisé on‑chain (registry.isAuthorized(address)).
Amazon DynamoDBStocke les certificats indexés par certId (champs : status, issuerLab, standard, officialLink, canonicalString).

Demo tokens (ready to scan)

QRCC Console No token Frontend Ready