Based on the public EU technical specifications, here is a simple decoder of the QR-code, it displays all the information in the Health Certificate QR-code with many technical explanations on the steps. A lot of the technique used by the EU Green Certificate are coming from the IETF. The code itself is heavily based on open source code.
As it appears that some (all ?) states of USA also use QR-code with open specifications, the online decoder also works for SMART® Health Cards. And, you can also have a SMART® Health Card example QR-code decoded.
In order to see a QR-code being decoded, you first need to upload a screen shot (.jpg, .png, .gif) of a QR-code and click on the Decode the QR-code button.
Since this on-line decoder was created in June 2021, there have been daily requests on how to reverse the process. This is of course trivial for any software engineer and there is some code in open source code. Of course, the issue is to have a valid signature that is recognized by the verifier ;-) If you want to try, then go to the generation tool to generate such an example QR-code for the EU Digital Green Certificate but all verification applications won't accept it (I hope!) as the signature won't be accepted and even without signature verification, the QR-code will obviously be a fake (e.g., it will be red).
Here is an example of QR-code for a COVID-19 test provided by the SMART® Health Cards at https://github.com/smart-on-fhir/health-cards-designs/blob/main/smart_health_card_portal_vaccine.pdf.
It can easily be decoded as:
After analyzing the uploaded image, the QR code is (left-hand column is the hexadecimal/computer format, the right-hand column is the ASCII/human format): 73 68 63 3A 2F 35 36 37 36 32 39 30 39 35 32 34 s h c : / 5 6 7 6 2 9 0 9 5 2 4 33 32 30 36 30 33 34 36 30 32 39 32 34 33 37 34 3 2 0 6 0 3 4 6 0 2 9 2 4 3 7 4 30 34 34 36 30 33 31 32 32 32 39 35 39 35 33 32 0 4 4 6 0 3 1 2 2 2 9 5 9 5 3 2 36 35 34 36 30 33 34 36 30 32 39 32 35 34 30 37 6 5 4 6 0 3 4 6 0 2 9 2 5 4 0 7 37 32 38 30 34 33 33 36 30 32 38 37 30 32 38 36 7 2 8 0 4 3 3 6 0 2 8 7 0 2 8 6 34 37 31 36 37 34 35 32 32 32 38 30 39 32 38 36 4 7 1 6 7 4 5 2 2 2 8 0 9 2 8 6 31 33 33 33 31 34 35 36 34 33 37 36 35 33 31 34 1 3 3 3 1 4 5 6 4 3 7 6 5 3 1 4 31 35 39 30 36 34 30 32 32 30 33 30 36 34 35 30 1 5 9 0 6 4 0 2 2 0 3 0 6 4 5 0 34 35 39 30 38 35 36 34 33 35 35 30 33 34 31 34 4 5 9 0 8 5 6 4 3 5 5 0 3 4 1 4 32 34 35 34 31 33 36 34 30 33 37 30 36 33 36 36 2 4 5 4 1 3 6 4 0 3 7 0 6 3 6 6 35 34 31 37 31 33 37 32 34 31 32 33 36 33 38 30 5 4 1 7 1 3 7 2 4 1 2 3 6 3 8 0 33 30 34 33 37 35 36 32 32 30 34 36 37 33 37 34 3 0 4 3 7 5 6 2 2 0 4 6 7 3 7 4 30 37 35 33 32 33 32 33 39 32 35 34 33 33 34 34 0 7 5 3 2 3 2 3 9 2 5 4 3 3 4 4 33 33 32 36 30 35 37 33 36 30 31 30 36 34 35 32 3 3 2 6 0 5 7 3 6 0 1 0 6 4 5 2 39 33 31 35 33 31 32 37 30 37 34 32 34 32 38 33 9 3 1 5 3 1 2 7 0 7 4 2 4 2 8 3 39 35 30 33 38 36 39 32 32 31 32 37 36 36 37 32 9 5 0 3 8 6 9 2 2 1 2 7 6 6 7 2 38 36 36 36 37 33 31 32 36 36 33 34 32 30 38 37 8 6 6 6 7 3 1 2 6 6 3 4 2 0 8 7 34 32 32 35 37 33 37 37 36 33 30 32 30 36 32 30 4 2 2 5 7 3 7 7 6 3 0 2 0 6 2 0 34 31 30 32 32 34 33 37 36 35 38 36 38 35 33 34 4 1 0 2 2 4 3 7 6 5 8 6 8 5 3 4 33 32 35 35 38 32 30 30 30 32 31 36 37 32 38 37 3 2 5 5 8 2 0 0 0 2 1 6 7 2 8 7 36 30 37 35 38 35 37 30 38 31 30 35 35 30 35 36 6 0 7 5 8 5 7 0 8 1 0 5 5 0 5 6 32 32 37 35 32 32 38 32 34 30 37 36 37 30 38 30 2 2 7 5 2 2 8 2 4 0 7 6 7 0 8 0 39 36 38 30 35 30 37 36 39 32 33 36 31 37 37 33 9 6 8 0 5 0 7 6 9 2 3 6 1 7 7 3 33 32 33 33 35 36 36 33 34 33 34 32 34 33 39 36 3 2 3 3 5 6 6 3 4 3 4 2 4 3 9 6 36 34 34 34 30 35 39 36 37 36 31 34 31 30 34 34 6 4 4 4 0 5 9 6 7 6 1 4 1 0 4 4 33 33 37 37 36 36 37 32 30 32 36 36 33 32 32 34 3 3 7 7 6 6 7 2 0 2 6 6 3 2 2 4 34 33 33 36 37 34 35 33 30 35 39 36 31 37 35 34 4 3 3 6 7 4 5 3 0 5 9 6 1 7 5 4 30 30 30 33 38 33 39 37 30 35 32 36 31 32 31 34 0 0 0 3 8 3 9 7 0 5 2 6 1 2 1 4 30 32 39 32 39 37 34 37 35 33 36 35 38 33 33 37 0 2 9 2 9 7 4 7 5 3 6 5 8 3 3 7 33 37 32 36 36 32 31 33 32 30 36 36 36 36 39 30 3 7 2 6 6 2 1 3 2 0 6 6 6 6 9 0 34 37 32 35 33 30 34 34 34 36 39 34 30 35 32 31 4 7 2 5 3 0 4 4 4 6 9 4 0 5 2 1 30 35 32 34 35 33 36 32 34 32 37 32 31 35 35 30 0 5 2 4 5 3 6 2 4 2 7 2 1 5 5 0 33 37 37 36 37 33 34 33 34 32 38 30 33 32 33 30 3 7 7 6 7 3 4 3 4 2 8 0 3 2 3 0 34 35 34 37 35 36 39 30 33 31 30 32 33 33 36 37 4 5 4 7 5 6 9 0 3 1 0 2 3 3 6 7 30 35 36 32 32 32 37 34 31 34 35 36 37 30 39 30 0 5 6 2 2 2 7 4 1 4 5 6 7 0 9 0 35 35 35 36 35 33 35 30 37 36 33 36 32 35 30 35 5 5 5 6 5 3 5 0 7 6 3 6 2 5 0 5 33 37 32 33 39 35 32 32 37 37 36 32 31 31 32 30 3 7 2 3 9 5 2 2 7 7 6 2 1 1 2 0 35 33 31 32 35 36 31 34 34 32 35 36 38 32 38 32 5 3 1 2 5 6 1 4 4 2 5 6 8 2 8 2 30 31 32 37 32 36 38 33 38 36 33 30 30 33 39 30 0 1 2 7 2 6 8 3 8 6 3 0 0 3 9 0 38 37 31 32 37 30 34 32 34 36 33 37 31 36 39 33 8 7 1 2 7 0 4 2 4 6 3 7 1 6 9 3 36 35 33 35 35 33 35 36 30 32 39 32 38 33 39 33 6 5 3 5 5 3 5 6 0 2 9 2 8 3 9 3 30 36 35 35 38 30 30 37 32 37 36 33 31 35 38 34 0 6 5 5 8 0 0 7 2 7 6 3 1 5 8 4 33 37 35 30 30 33 34 31 32 30 39 35 34 36 39 30 3 7 5 0 0 3 4 1 2 0 9 5 4 6 9 0 34 32 31 30 34 35 38 33 38 33 32 35 37 35 38 36 4 2 1 0 4 5 8 3 8 3 2 5 7 5 8 6 36 33 30 31 30 31 30 33 33 31 32 33 34 32 32 31 6 3 0 1 0 1 0 3 3 1 2 3 4 2 2 1 31 34 30 30 38 37 37 36 30 35 38 37 33 32 33 32 1 4 0 0 8 7 7 6 0 5 8 7 3 2 3 2 35 32 34 33 34 37 37 36 34 35 39 32 30 31 31 33 5 2 4 3 4 7 7 6 4 5 9 2 0 1 1 3 30 33 37 33 32 35 39 32 39 30 38 33 32 37 32 34 0 3 7 3 2 5 9 2 9 0 8 3 2 7 2 4 35 32 37 33 32 32 32 33 37 30 37 30 35 35 35 35 5 2 7 3 2 2 2 3 7 0 7 0 5 5 5 5 30 34 31 32 39 32 37 35 38 34 35 34 33 35 38 32 0 4 1 2 9 2 7 5 8 4 5 4 3 5 8 2 35 35 30 36 36 37 37 36 30 30 33 36 35 37 37 37 5 5 0 6 6 7 7 6 0 0 3 6 5 7 7 7 32 34 30 32 35 36 32 31 31 33 36 35 32 35 33 34 2 4 0 2 5 6 2 1 1 3 6 5 2 5 3 4 30 35 39 32 37 37 31 37 34 30 39 30 33 36 36 33 0 5 9 2 7 7 1 7 4 0 9 0 3 6 6 3 38 34 34 37 37 31 32 36 31 36 39 32 30 37 37 36 8 4 4 7 7 1 2 6 1 6 9 2 0 7 7 6 39 37 32 31 31 34 34 37 30 35 37 35 36 32 35 30 9 7 2 1 1 4 4 7 0 5 7 5 6 2 5 0 39 34 33 37 30 32 39 36 32 36 37 30 37 32 35 34 9 4 3 7 0 2 9 6 2 6 7 0 7 2 5 4 35 33 39 30 30 32 30 31 31 37 36 33 32 34 30 37 5 3 9 0 0 2 0 1 1 7 6 3 2 4 0 7 32 30 33 31 30 31 31 34 32 36 30 32 35 36 36 37 2 0 3 1 0 1 1 4 2 6 0 2 5 6 6 7 32 36 34 35 39 36 35 36 32 37 32 34 33 36 35 34 2 6 4 5 9 6 5 6 2 7 2 4 3 6 5 4 30 36 31 30 36 36 35 35 33 37 37 30 30 35 36 30 0 6 1 0 6 6 5 5 3 7 7 0 0 5 6 0 30 33 30 34 34 30 38 32 39 36 37 36 30 36 31 36 0 3 0 4 4 0 8 2 9 6 7 6 0 6 1 6 32 37 32 34 33 30 36 35 39 32 32 37 33 36 38 32 2 7 2 4 3 0 6 5 9 2 2 7 3 6 8 2 32 32 33 34 31 32 34 36 36 31 30 37 33 33 35 33 2 2 3 4 1 2 4 6 6 1 0 7 3 3 5 3 33 31 32 32 39 36 30 36 31 35 37 35 32 31 30 35 3 1 2 2 9 6 0 6 1 5 7 5 2 1 0 5 37 33 35 37 35 37 32 33 32 37 35 32 39 36 39 33 7 3 5 7 5 7 2 3 2 7 5 2 9 6 9 3 39 36 35 36 37 30 33 33 32 30 36 33 32 30 38 35 9 6 5 6 7 0 3 3 2 0 6 3 2 0 8 5 39 36 33 30 39 35 34 33 34 30 30 30 37 36 34 35 9 6 3 0 9 5 4 3 4 0 0 0 7 6 4 5 32 36 39 36 38 33 35 37 31 33 30 32 37 34 35 30 2 6 9 6 8 3 5 7 1 3 0 2 7 4 5 0 37 32 38 36 36 33 35 32 39 33 34 35 32 33 34 36 7 2 8 6 6 3 5 2 9 3 4 5 2 3 4 6 36 36 33 37 37 32 39 37 32 30 38 35 38 33 35 32 6 6 3 7 7 2 9 7 2 0 8 5 8 3 5 2 35 35 34 33 36 35 33 35 32 37 37 37 34 30 37 32 5 5 4 3 6 5 3 5 2 7 7 7 4 0 7 2 32 33 34 37 33 35 37 30 36 34 35 32 38 32 38 36 2 3 4 7 3 5 7 0 6 4 5 2 8 2 8 6 34 31 31 34 30 36 33 33 35 32 38 33 38 37 35 37 4 1 1 4 0 6 3 3 5 2 8 3 8 7 5 7 37 30 35 34 33 37 31 37 30 33 39 36 36 37 30 36 7 0 5 4 3 7 1 7 0 3 9 6 6 7 0 6 34 32 31 35 32 30 37 30 38 32 35 34 31 35 36 30 4 2 1 5 2 0 7 0 8 2 5 4 1 5 6 0 34 31 31 37 30 33 35 33 36 35 36 30 35 34 34 37 4 1 1 7 0 3 5 3 6 5 6 0 5 4 4 7 31 34 30 37 36 33 36 35 35 32 36 31 32 36 31 36 1 4 0 7 6 3 6 5 5 2 6 1 2 6 1 6 38 33 34 33 37 37 32 34 34 30 39 30 34 30 36 35 8 3 4 3 7 7 2 4 4 0 9 0 4 0 6 5 35 34 33 32 37 31 32 32 35 35 39 36 32 33 34 35 5 4 3 2 7 1 2 2 5 5 9 6 2 3 4 5 33 36 38 36 32 30 37 30 30 36 31 33 39 37 31 32 3 6 8 6 2 0 7 0 0 6 1 3 9 7 1 2 39 33 36 34 30 34 31 33 38 36 30 31 31 35 36 36 9 3 6 4 0 4 1 3 8 6 0 1 1 5 6 6 35 36 39 34 35 33 31 35 36 31 31 32 35 35 36 36 5 6 9 4 5 3 1 5 6 1 1 2 5 5 6 6 39 31 31 36 30 34 34 37 30 33 33 33 33 37 33 31 9 1 1 6 0 4 4 7 0 3 3 3 3 7 3 1 32 36 33 35 38 30 33 30 36 31 30 36 39 37 35 37 2 6 3 5 8 0 3 0 6 1 0 6 9 7 5 7 31 35 34 31 31 37 30 32 39 33 32 30 36 30 35 31 1 5 4 1 1 7 0 2 9 3 2 0 6 0 5 1 31 30 31 32 37 36 38 36 33 34 30 31 31 37 30 33 1 0 1 2 7 6 8 6 3 4 0 1 1 7 0 3 33 37 31 35 35 33 33 35 33 32 31 33 33 36 35 30 3 7 1 5 5 3 3 5 3 2 1 3 3 6 5 0 33 32 35 35 30 37 35 36 34 37 36 30 30 35 38 35 3 2 5 5 0 7 5 6 4 7 6 0 0 5 8 5 33 30 30 35 32 32 34 35 34 37 33 33 39 33 31 30 3 0 0 5 2 2 4 5 4 7 3 3 9 3 1 0 30 36 34 36 37 31 31 36 31 36 38 32 33 37 36 33 0 6 4 6 7 1 1 6 1 6 8 2 3 7 6 3 33 35 30 36 39 36 34 37 36 32 32 33 32 33 33 33 3 5 0 6 9 6 4 7 6 2 2 3 2 3 3 3 39 35 32 33 31 33 33 37 32 34 31 37 31 33 32 37 9 5 2 3 1 3 3 7 2 4 1 7 1 3 2 7 35 33 31 37 30 32 37 33 38 33 36 33 36 35 30 30 5 3 1 7 0 2 7 3 8 3 6 3 6 5 0 0 36 33 35 32 37 35 39 32 36 33 33 37 36 33 39 30 6 3 5 2 7 5 9 2 6 3 3 7 6 3 9 0 38 36 35 36 31 32 33 33 31 34 33 36 33 32 32 37 8 6 5 6 1 2 3 3 1 4 3 6 3 2 2 7 37 30 37 35 36 36 37 33 31 33 31 31 30 37 34 7 0 7 5 6 6 7 3 1 3 1 1 0 7 4 It looks like a SHC URI. Based on the specifications as they are open thanks to SMART® Health. Decoding the Numeric Mode QR... 65 79 4A 36 61 58 41 69 4F 69 4A 45 52 55 59 69 e y J 6 a X A i O i J E R U Y i 4C 43 4A 68 62 47 63 69 4F 69 4A 46 55 7A 49 31 L C J h b G c i O i J F U z I 1 4E 69 49 73 49 6D 74 70 5A 43 49 36 49 6A 4E 4C N i I s I m t p Z C I 6 I j N L 5A 6D 52 6E 4C 56 68 33 55 43 30 33 5A 31 68 35 Z m R n L V h 3 U C 0 3 Z 1 h 5 65 58 64 30 56 57 5A 56 51 55 52 33 51 6E 56 74 e X d 0 V W Z V Q U R 3 Q n V t 52 45 39 51 53 30 31 52 65 43 31 70 52 55 78 4D R E 9 Q S 0 1 R e C 1 p R U x M 4D 54 46 58 4F 58 4D 69 66 51 2E 33 5A 4A 4C 62 M T F X O X M i f Q . 3 Z J L b 39 73 77 45 49 54 5F 53 72 43 39 79 70 49 6F 70 9 s w E I T _ S r C 9 y p I o p 4C 47 6C 57 35 77 43 66 52 79 4B 41 6B 31 37 43 L G l W 5 w C f R y K A k 1 7 C 58 79 67 71 62 58 46 67 41 2D 42 70 49 79 34 67 X y g q b X F g A - B p I y 4 g 66 35 37 64 32 6B 48 61 49 45 34 70 35 36 71 32 f 5 7 d 2 k H a I E 4 p 5 6 q 2 34 72 44 6A 7A 4E 44 50 6F 4F 4F 45 54 6F 59 55 4 r D j z N D P o O O E T o Y U 68 70 6A 56 31 58 52 79 70 41 47 6C 43 59 4E 70 h p j V 1 X R y p A G l C Y N p 5A 4B 68 6A 78 55 2D 53 54 73 61 6A 42 55 4A 4A Z K h j x U - S T s a j B U J J 77 78 51 67 4E 76 75 6F 42 4D 33 6F 72 31 75 62 w x Q g N v u o B M 3 o r 1 u b 31 59 72 55 61 37 61 5A 51 45 48 42 64 30 7A 70 1 Y r U a 7 a Z Q E H B d 0 z p 4F 4F 49 30 44 31 63 78 72 30 37 44 51 73 65 43 O O I 0 D 1 c x r 0 7 D Q s e C 48 56 5A 70 36 32 64 6E 50 34 6C 6B 5F 62 75 54 H V Z p 6 2 d n P 4 l k _ b u T 61 48 79 42 39 32 4C 46 6A 59 46 71 49 41 39 75 a H y B 9 2 L F j Y F q I A 9 u 71 53 6C 2D 54 35 74 48 31 45 6C 74 72 51 62 64 q S l - T 5 t H 1 E l t r Q b d 50 69 4A 49 54 4B 6E 67 2D 75 79 4C 67 58 78 2D P i J I T K n g - u y L g X x - 4F 39 36 63 72 31 42 31 67 53 4D 66 67 6F 4B 37 O 9 6 c r 1 B 1 g S M f g o K 7 37 4E 39 4F 43 38 55 35 7A 69 67 76 44 46 45 4F 7 N 9 O C 8 U 5 z i g v D F E O 7A 6D 68 41 38 4B 52 4D 68 4A 35 4D 75 5A 48 4D z m h A 8 K R M h J 5 M u Z H M 43 52 34 32 64 5F 56 4A 48 67 5A 58 67 46 5F 6F C R 4 2 d _ V J H g Z X g F _ o 7A 69 30 6E 7A 75 55 46 6B 38 51 61 62 55 68 48 z i 0 n z u U F k 8 Q a b U h H 74 77 36 30 6F 53 59 7A 39 6A 72 41 7A 72 75 38 t w 6 0 o S Y z 9 j r A z r u 8 59 73 66 65 46 36 58 73 4A 6B 70 34 46 5A 54 2D Y s f e F 6 X s J k p 4 F Z T - 41 38 79 4D 55 75 30 37 38 57 69 46 6F 75 6D 68 A 8 y M U u 0 7 8 W i F o u m h 6E 6B 75 58 6E 55 6A 33 6E 62 7A 2D 65 2D 4B 59 n k u X n U j 3 n b z - e - K Y 35 4A 70 69 6A 6B 75 58 33 68 43 76 71 43 44 56 5 J p i j k u X 3 h C v q C D V 45 6F 37 76 50 4E 39 4A 69 6A 66 61 37 66 50 78 E o 7 v P N 9 J i j f a 7 f P x 75 4D 78 4A 72 54 6E 70 30 4D 33 4D 35 68 6C 36 u M x J r T n p 0 M 3 M 5 h l 6 63 4F 2D 34 6D 61 72 71 50 74 4B 48 5A 34 49 6F c O - 4 m a r q P t K H Z 4 I o 50 4A 4F 61 4F 6F 6C 7A 4A 75 35 67 50 46 63 51 P J O a O o l z J u 5 g P F c Q 62 61 7A 77 34 43 4F 76 66 33 5A 49 49 6D 38 55 b a z w 4 C O v f 3 Z I I m 8 U 6C 50 49 53 78 7A 32 58 74 73 54 6F 73 6D 42 61 l P I S x z 2 X t s T o s m B a 34 35 46 56 65 31 38 73 50 51 65 32 59 74 55 79 4 5 F V e 1 8 s P Q e 2 Y t U y 51 64 47 39 6A 71 4F 52 75 59 36 31 33 64 58 48 Q d G 9 j q O R u Y 6 1 3 d X H 39 46 68 6B 4F 62 71 6B 34 2D 6A 54 74 4A 51 55 9 F h k O b q k 4 - j T t J Q U 56 53 69 38 65 6E 72 5A 4C 65 38 46 65 72 38 69 V S i 8 e n r Z L e 8 F e r 8 i 59 73 4E 4E 76 39 6C 67 30 33 37 72 78 74 63 38 Y s N N v 9 l g 0 3 7 r x t c 8 73 4A 4D 33 32 38 2E 48 71 6C 55 38 73 4E 74 64 s J M 3 2 8 . H q l U 8 s N t d 4E 62 42 4E 6E 30 46 5F 78 6D 79 2D 67 62 2D 61 N b B N n 0 F _ x m y - g b - a 45 63 76 54 4C 2D 6D 70 38 6A 71 44 79 4E 5F 72 E c v T L - m p 8 j q D y N _ r 6D 79 43 4D 4E 54 61 4C 4E 75 56 74 4D 78 4C 73 m y C M N T a L N u V t M x L s 48 53 51 51 5F 33 50 48 68 47 4E 79 54 35 6E 6A H S Q Q _ 3 P H h G N y T 5 n j 44 4C 58 6C 43 7A 34 65 70 4C 4C 37 77 D L X l C z 4 e p L L 7 w This should be JSON Web Signature (JWS) RFC7515 format where the protected header, the payload, and the signature are separated by a '.' character. Let's split this in three parts based on the '.' character at offsets 106 and 678. JWS Protected header: 65 79 4A 36 61 58 41 69 4F 69 4A 45 52 55 59 69 e y J 6 a X A i O i J E R U Y i 4C 43 4A 68 62 47 63 69 4F 69 4A 46 55 7A 49 31 L C J h b G c i O i J F U z I 1 4E 69 49 73 49 6D 74 70 5A 43 49 36 49 6A 4E 4C N i I s I m t p Z C I 6 I j N L 5A 6D 52 6E 4C 56 68 33 55 43 30 33 5A 31 68 35 Z m R n L V h 3 U C 0 3 Z 1 h 5 65 58 64 30 56 57 5A 56 51 55 52 33 51 6E 56 74 e X d 0 V W Z V Q U R 3 Q n V t 52 45 39 51 53 30 31 52 65 43 31 70 52 55 78 4D R E 9 Q S 0 1 R e C 1 p R U x M 4D 54 46 58 4F 58 4D 69 66 51 M T F X O X M i f Q JWS Payload: 33 5A 4A 4C 62 39 73 77 45 49 54 5F 53 72 43 39 3 Z J L b 9 s w E I T _ S r C 9 79 70 49 6F 70 4C 47 6C 57 35 77 43 66 52 79 4B y p I o p L G l W 5 w C f R y K 41 6B 31 37 43 58 79 67 71 62 58 46 67 41 2D 42 A k 1 7 C X y g q b X F g A - B 70 49 79 34 67 66 35 37 64 32 6B 48 61 49 45 34 p I y 4 g f 5 7 d 2 k H a I E 4 70 35 36 71 32 34 72 44 6A 7A 4E 44 50 6F 4F 4F p 5 6 q 2 4 r D j z N D P o O O 45 54 6F 59 55 68 70 6A 56 31 58 52 79 70 41 47 E T o Y U h p j V 1 X R y p A G 6C 43 59 4E 70 5A 4B 68 6A 78 55 2D 53 54 73 61 l C Y N p Z K h j x U - S T s a 6A 42 55 4A 4A 77 78 51 67 4E 76 75 6F 42 4D 33 j B U J J w x Q g N v u o B M 3 6F 72 31 75 62 31 59 72 55 61 37 61 5A 51 45 48 o r 1 u b 1 Y r U a 7 a Z Q E H 42 64 30 7A 70 4F 4F 49 30 44 31 63 78 72 30 37 B d 0 z p O O I 0 D 1 c x r 0 7 44 51 73 65 43 48 56 5A 70 36 32 64 6E 50 34 6C D Q s e C H V Z p 6 2 d n P 4 l 6B 5F 62 75 54 61 48 79 42 39 32 4C 46 6A 59 46 k _ b u T a H y B 9 2 L F j Y F 71 49 41 39 75 71 53 6C 2D 54 35 74 48 31 45 6C q I A 9 u q S l - T 5 t H 1 E l 74 72 51 62 64 50 69 4A 49 54 4B 6E 67 2D 75 79 t r Q b d P i J I T K n g - u y 4C 67 58 78 2D 4F 39 36 63 72 31 42 31 67 53 4D L g X x - O 9 6 c r 1 B 1 g S M 66 67 6F 4B 37 37 4E 39 4F 43 38 55 35 7A 69 67 f g o K 7 7 N 9 O C 8 U 5 z i g 76 44 46 45 4F 7A 6D 68 41 38 4B 52 4D 68 4A 35 v D F E O z m h A 8 K R M h J 5 4D 75 5A 48 4D 43 52 34 32 64 5F 56 4A 48 67 5A M u Z H M C R 4 2 d _ V J H g Z 58 67 46 5F 6F 7A 69 30 6E 7A 75 55 46 6B 38 51 X g F _ o z i 0 n z u U F k 8 Q 61 62 55 68 48 74 77 36 30 6F 53 59 7A 39 6A 72 a b U h H t w 6 0 o S Y z 9 j r 41 7A 72 75 38 59 73 66 65 46 36 58 73 4A 6B 70 A z r u 8 Y s f e F 6 X s J k p 34 46 5A 54 2D 41 38 79 4D 55 75 30 37 38 57 69 4 F Z T - A 8 y M U u 0 7 8 W i 46 6F 75 6D 68 6E 6B 75 58 6E 55 6A 33 6E 62 7A F o u m h n k u X n U j 3 n b z 2D 65 2D 4B 59 35 4A 70 69 6A 6B 75 58 33 68 43 - e - K Y 5 J p i j k u X 3 h C 76 71 43 44 56 45 6F 37 76 50 4E 39 4A 69 6A 66 v q C D V E o 7 v P N 9 J i j f 61 37 66 50 78 75 4D 78 4A 72 54 6E 70 30 4D 33 a 7 f P x u M x J r T n p 0 M 3 4D 35 68 6C 36 63 4F 2D 34 6D 61 72 71 50 74 4B M 5 h l 6 c O - 4 m a r q P t K 48 5A 34 49 6F 50 4A 4F 61 4F 6F 6C 7A 4A 75 35 H Z 4 I o P J O a O o l z J u 5 67 50 46 63 51 62 61 7A 77 34 43 4F 76 66 33 5A g P F c Q b a z w 4 C O v f 3 Z 49 49 6D 38 55 6C 50 49 53 78 7A 32 58 74 73 54 I I m 8 U l P I S x z 2 X t s T 6F 73 6D 42 61 34 35 46 56 65 31 38 73 50 51 65 o s m B a 4 5 F V e 1 8 s P Q e 32 59 74 55 79 51 64 47 39 6A 71 4F 52 75 59 36 2 Y t U y Q d G 9 j q O R u Y 6 31 33 64 58 48 39 46 68 6B 4F 62 71 6B 34 2D 6A 1 3 d X H 9 F h k O b q k 4 - j 54 74 4A 51 55 56 53 69 38 65 6E 72 5A 4C 65 38 T t J Q U V S i 8 e n r Z L e 8 46 65 72 38 69 59 73 4E 4E 76 39 6C 67 30 33 37 F e r 8 i Y s N N v 9 l g 0 3 7 72 78 74 63 38 73 4A 4D 33 32 38 r x t c 8 s J M 3 2 8 JWS Signature: 48 71 6C 55 38 73 4E 74 64 4E 62 42 4E 6E 30 46 H q l U 8 s N t d N b B N n 0 F 5F 78 6D 79 2D 67 62 2D 61 45 63 76 54 4C 2D 6D _ x m y - g b - a E c v T L - m 70 38 6A 71 44 79 4E 5F 72 6D 79 43 4D 4E 54 61 p 8 j q D y N _ r m y C M N T a 4C 4E 75 56 74 4D 78 4C 73 48 53 51 51 5F 33 50 L N u V t M x L s H S Q Q _ 3 P 48 68 47 4E 79 54 35 6E 6A 44 4C 58 6C 43 7A 34 H h G N y T 5 n j D L X l C z 4 65 70 4C 4C 37 77 e p L L 7 w All those 3 parts are base64 encoded (without the trailing '=' used for padding), let's decode them... Base64 decoded JWS Protected header: 7B 22 7A 69 70 22 3A 22 44 45 46 22 2C 22 61 6C { " z i p " : " D E F " , " a l 67 22 3A 22 45 53 32 35 36 22 2C 22 6B 69 64 22 g " : " E S 2 5 6 " , " k i d " 3A 22 33 4B 66 64 67 2D 58 77 50 2D 37 67 58 79 : " 3 K f d g - X w P - 7 g X y 79 77 74 55 66 55 41 44 77 42 75 6D 44 4F 50 4B y w t U f U A D w B u m D O P K 4D 51 78 2D 69 45 4C 4C 31 31 57 39 73 22 7D M Q x - i E L L 1 1 W 9 s " } Or a pretty print of the JSON content of the JWS protected header: { "zip": "DEF", "alg": "ES256", "kid": "3Kfdg-XwP-7gXyywtUfUADwBumDOPKMQx-iELL11W9s" } Base64 decoded JWS Payload: DD 92 4B 6F DB 30 10 84 FF 4A B0 BD CA 92 28 A4 . . K o . 0 . . . J . . . . ( . B1 A5 5B 9C 2 7D 1C 8A 2 4D 7B 9 7C A0 A9 B5 . . [ . . } . . . M { . | . . . C5 80 F 81 A4 8C B8 81 FE 7B 77 69 7 68 81 38 . . . . . . . . . { w i . h . 8 A7 9E AA DB 8A C3 8F 33 43 3E 83 8E 11 3A 18 52 . . . . . . . 3 C > . . . : . R 1A 63 57 55 D1 CA 90 6 94 26 D A5 92 A1 8F 15 . c W U . . . . . & . . . . . . 3E 49 3B 1A 8C 15 9 27 C 50 80 DB EE A0 13 37 > I ; . . . . ' . P . . . . . 7 A2 BD 6E 6F 56 2B 51 AE DA 65 1 7 5 DD 33 A4 . . n o V + Q . . e . . . . 3 . E3 88 D0 3D 5C C6 BD 3B D B 1E 8 75 59 A7 AD . . . = \ . . ; . . . . u Y . . 9D 9C FE 25 93 F6 EE 4D A1 F2 7 DD 8B 16 36 5 . . . % . . . M . . . . . . 6 . A8 80 3D BA A4 A5 F9 3E 6D 1F 51 25 B6 B4 1B 74 . . = . . . . > m . Q % . . . t F8 89 21 32 A7 83 EB B2 2E 5 F1 F8 EF 7A 72 BD . . ! 2 . . . . . . . . . z r . 41 D6 4 8C 7E A A EF B3 7D 38 2F 14 E7 38 A0 A . . . ~ . . . . } 8 / . . 8 . BC 31 44 3B 39 A1 3 C2 91 32 12 79 32 E6 47 30 . 1 D ; 9 . . . . 2 . y 2 . G 0 24 78 D9 DF D5 24 78 19 5E 1 7F A3 38 B4 9F 3B $ x . . . $ x . ^ . . 8 . . ; 94 16 4F 10 69 B5 21 1E DC 3A D2 84 98 CF D8 EB . . O . i . ! . . : . . . . . . 3 3A EE F1 8B 1F 78 5E 97 B0 99 29 E0 56 53 F8 . : . . . . x ^ . . . ) . V S . F 32 31 4B B4 EF C5 A2 16 8B A6 86 79 2E 5E 75 . 2 1 K . . . . . . . . y . ^ u 23 DE 76 F3 F9 EF 8A 63 92 69 8A 39 2E 5F 78 42 # . v . . . . c . i . 9 . _ x B BE A0 83 54 4A 3B BC F3 7D 26 28 DF 6B B7 CF C6 . . . T J ; . . } & ( . k . . . E3 31 26 B4 E7 A7 43 37 33 98 65 E9 C3 BE E2 66 . 1 & . . . C 7 3 . e . . . . f AB A8 FB 4A 1D 9E 8 A0 F2 4E 68 EA 25 CC 9B B9 . . . J . . . . . N h . % . . . 80 F1 5C 41 B6 B3 C3 80 8E BD FD D9 20 89 BC 52 . . \ A . . . . . . . . . . R 53 C8 4B 1C F6 5E DB 13 A2 C9 81 6B 8E 45 55 ED S . K . . ^ . . . . . k . E U . 7C B0 F4 1E D9 8B 54 C9 7 46 F6 3A 8E 46 E6 3A | . . . . . T . . F . : . F . : D7 77 57 1F D1 61 90 E6 EA 93 8F A3 4E D2 50 51 . w W . . a . . . . . . N . P Q 54 A2 F1 E9 EB 64 B7 BC 15 EA FC 89 8B D 36 FF T . . . . d . . . . . . . . 6 . 65 83 4D FB AF 1B 5C F2 C2 4C DF 6F e . M . . . \ . . L . o Base64 decoded JWS Signature (i.e., the 512-bit hash representing the signature): 1E A9 54 F2 C3 6D 74 D6 C1 36 7D 5 FF 19 B2 FA . . T . . m t . . 6 } . . . . . 6 FE 68 47 2F 4C BF A6 A7 C8 EA F 23 7F AE 6C . . h G / L . . . . . . # . l 82 30 D4 DA 2C DB 95 B4 CC 4B B0 74 90 43 FD CF . 0 . . , . . . . K . t . C . . 1E 11 8D C9 3E 67 8C 32 D7 94 2C F8 7A 92 CB EF . . . . > g . 2 . . , . z . . . The JWS payload is compressed using 'deflate' (as the protected header contains a 'zip' key with 'DEF' value), let's uncompress it 7B 22 69 73 73 22 3A 22 68 74 74 70 73 3A 2F 2F { " i s s " : " h t t p s : / / 73 6D 61 72 74 68 65 61 6C 74 68 2E 63 61 72 64 s m a r t h e a l t h . c a r d 73 2F 65 78 61 6D 70 6C 65 73 2F 69 73 73 75 65 s / e x a m p l e s / i s s u e 72 22 2C 22 6E 62 66 22 3A 31 36 31 39 34 39 36 r " , " n b f " : 1 6 1 9 4 9 6 38 38 31 2E 38 39 37 2C 22 76 63 22 3A 7B 22 74 8 8 1 . 8 9 7 , " v c " : { " t 79 70 65 22 3A 5B 22 68 74 74 70 73 3A 2F 2F 73 y p e " : [ " h t t p s : / / s 6D 61 72 74 68 65 61 6C 74 68 2E 63 61 72 64 73 m a r t h e a l t h . c a r d s 23 68 65 61 6C 74 68 2D 63 61 72 64 22 2C 22 68 # h e a l t h - c a r d " , " h 74 74 70 73 3A 2F 2F 73 6D 61 72 74 68 65 61 6C t t p s : / / s m a r t h e a l 74 68 2E 63 61 72 64 73 23 69 6D 6D 75 6E 69 7A t h . c a r d s # i m m u n i z 61 74 69 6F 6E 22 2C 22 68 74 74 70 73 3A 2F 2F a t i o n " , " h t t p s : / / 73 6D 61 72 74 68 65 61 6C 74 68 2E 63 61 72 64 s m a r t h e a l t h . c a r d 73 23 63 6F 76 69 64 31 39 22 5D 2C 22 63 72 65 s # c o v i d 1 9 " ] , " c r e 64 65 6E 74 69 61 6C 53 75 62 6A 65 63 74 22 3A d e n t i a l S u b j e c t " : 7B 22 66 68 69 72 56 65 72 73 69 6F 6E 22 3A 22 { " f h i r V e r s i o n " : " 34 2E 30 2E 31 22 2C 22 66 68 69 72 42 75 6E 64 4 . 0 . 1 " , " f h i r B u n d 6C 65 22 3A 7B 22 72 65 73 6F 75 72 63 65 54 79 l e " : { " r e s o u r c e T y 70 65 22 3A 22 42 75 6E 64 6C 65 22 2C 22 74 79 p e " : " B u n d l e " , " t y 70 65 22 3A 22 63 6F 6C 6C 65 63 74 69 6F 6E 22 p e " : " c o l l e c t i o n " 2C 22 65 6E 74 72 79 22 3A 5B 7B 22 66 75 6C 6C , " e n t r y " : [ { " f u l l 55 72 6C 22 3A 22 72 65 73 6F 75 72 63 65 3A 30 U r l " : " r e s o u r c e : 0 22 2C 22 72 65 73 6F 75 72 63 65 22 3A 7B 22 72 " , " r e s o u r c e " : { " r 65 73 6F 75 72 63 65 54 79 70 65 22 3A 22 50 61 e s o u r c e T y p e " : " P a 74 69 65 6E 74 22 2C 22 6E 61 6D 65 22 3A 5B 7B t i e n t " , " n a m e " : [ { 22 66 61 6D 69 6C 79 22 3A 22 41 6E 79 70 65 72 " f a m i l y " : " A n y p e r 73 6F 6E 22 2C 22 67 69 76 65 6E 22 3A 5B 22 4A s o n " , " g i v e n " : [ " J 6F 68 6E 22 2C 22 42 2E 22 5D 7D 5D 2C 22 62 69 o h n " , " B . " ] } ] , " b i 72 74 68 44 61 74 65 22 3A 22 31 39 35 31 2D 30 r t h D a t e " : " 1 9 5 1 - 0 31 2D 32 30 22 7D 7D 2C 7B 22 66 75 6C 6C 55 72 1 - 2 0 " } } , { " f u l l U r 6C 22 3A 22 72 65 73 6F 75 72 63 65 3A 31 22 2C l " : " r e s o u r c e : 1 " , 22 72 65 73 6F 75 72 63 65 22 3A 7B 22 72 65 73 " r e s o u r c e " : { " r e s 6F 75 72 63 65 54 79 70 65 22 3A 22 49 6D 6D 75 o u r c e T y p e " : " I m m u 6E 69 7A 61 74 69 6F 6E 22 2C 22 73 74 61 74 75 n i z a t i o n " , " s t a t u 73 22 3A 22 63 6F 6D 70 6C 65 74 65 64 22 2C 22 s " : " c o m p l e t e d " , " 76 61 63 63 69 6E 65 43 6F 64 65 22 3A 7B 22 63 v a c c i n e C o d e " : { " c 6F 64 69 6E 67 22 3A 5B 7B 22 73 79 73 74 65 6D o d i n g " : [ { " s y s t e m 22 3A 22 68 74 74 70 3A 2F 2F 68 6C 37 2E 6F 72 " : " h t t p : / / h l 7 . o r 67 2F 66 68 69 72 2F 73 69 64 2F 63 76 78 22 2C g / f h i r / s i d / c v x " , 22 63 6F 64 65 22 3A 22 32 30 37 22 7D 5D 7D 2C " c o d e " : " 2 0 7 " } ] } , 22 70 61 74 69 65 6E 74 22 3A 7B 22 72 65 66 65 " p a t i e n t " : { " r e f e 72 65 6E 63 65 22 3A 22 72 65 73 6F 75 72 63 65 r e n c e " : " r e s o u r c e 3A 30 22 7D 2C 22 6F 63 63 75 72 72 65 6E 63 65 : 0 " } , " o c c u r r e n c e 44 61 74 65 54 69 6D 65 22 3A 22 32 30 32 31 2D D a t e T i m e " : " 2 0 2 1 - 30 31 2D 30 31 22 2C 22 70 65 72 66 6F 72 6D 65 0 1 - 0 1 " , " p e r f o r m e 72 22 3A 5B 7B 22 61 63 74 6F 72 22 3A 7B 22 64 r " : [ { " a c t o r " : { " d 69 73 70 6C 61 79 22 3A 22 41 42 43 20 47 65 6E i s p l a y " : " A B C G e n 65 72 61 6C 20 48 6F 73 70 69 74 61 6C 22 7D 7D e r a l H o s p i t a l " } } 5D 2C 22 6C 6F 74 4E 75 6D 62 65 72 22 3A 22 30 ] , " l o t N u m b e r " : " 0 30 30 30 30 30 31 22 7D 7D 2C 7B 22 66 75 6C 6C 0 0 0 0 0 1 " } } , { " f u l l 55 72 6C 22 3A 22 72 65 73 6F 75 72 63 65 3A 32 U r l " : " r e s o u r c e : 2 22 2C 22 72 65 73 6F 75 72 63 65 22 3A 7B 22 72 " , " r e s o u r c e " : { " r 65 73 6F 75 72 63 65 54 79 70 65 22 3A 22 49 6D e s o u r c e T y p e " : " I m 6D 75 6E 69 7A 61 74 69 6F 6E 22 2C 22 73 74 61 m u n i z a t i o n " , " s t a 74 75 73 22 3A 22 63 6F 6D 70 6C 65 74 65 64 22 t u s " : " c o m p l e t e d " 2C 22 76 61 63 63 69 6E 65 43 6F 64 65 22 3A 7B , " v a c c i n e C o d e " : { 22 63 6F 64 69 6E 67 22 3A 5B 7B 22 73 79 73 74 " c o d i n g " : [ { " s y s t 65 6D 22 3A 22 68 74 74 70 3A 2F 2F 68 6C 37 2E e m " : " h t t p : / / h l 7 . 6F 72 67 2F 66 68 69 72 2F 73 69 64 2F 63 76 78 o r g / f h i r / s i d / c v x 22 2C 22 63 6F 64 65 22 3A 22 32 30 37 22 7D 5D " , " c o d e " : " 2 0 7 " } ] 7D 2C 22 70 61 74 69 65 6E 74 22 3A 7B 22 72 65 } , " p a t i e n t " : { " r e 66 65 72 65 6E 63 65 22 3A 22 72 65 73 6F 75 72 f e r e n c e " : " r e s o u r 63 65 3A 30 22 7D 2C 22 6F 63 63 75 72 72 65 6E c e : 0 " } , " o c c u r r e n 63 65 44 61 74 65 54 69 6D 65 22 3A 22 32 30 32 c e D a t e T i m e " : " 2 0 2 31 2D 30 31 2D 32 39 22 2C 22 70 65 72 66 6F 72 1 - 0 1 - 2 9 " , " p e r f o r 6D 65 72 22 3A 5B 7B 22 61 63 74 6F 72 22 3A 7B m e r " : [ { " a c t o r " : { 22 64 69 73 70 6C 61 79 22 3A 22 41 42 43 20 47 " d i s p l a y " : " A B C G 65 6E 65 72 61 6C 20 48 6F 73 70 69 74 61 6C 22 e n e r a l H o s p i t a l " 7D 7D 5D 2C 22 6C 6F 74 4E 75 6D 62 65 72 22 3A } } ] , " l o t N u m b e r " : 22 30 30 30 30 30 30 37 22 7D 7D 5D 7D 7D 7D 7D " 0 0 0 0 0 0 7 " } } ] } } } } Or a pretty print of the JSON content of the JWS payload: { "iss": "https://smarthealth.cards/examples/issuer", "nbf": 1619496881.897, "vc": { "type": [ "https://smarthealth.cards#health-card", "https://smarthealth.cards#immunization", "https://smarthealth.cards#covid19" ], "credentialSubject": { "fhirVersion": "4.0.1", "fhirBundle": { "resourceType": "Bundle", "type": "collection", "entry": [ { "fullUrl": "resource:0", "resource": { "resourceType": "Patient", "name": [ { "family": "Anyperson", "given": [ "John", "B." ] } ], "birthDate": "1951-01-20" } }, { "fullUrl": "resource:1", "resource": { "resourceType": "Immunization", "status": "completed", "vaccineCode": { "coding": [ { "system": "http://hl7.org/fhir/sid/cvx", "code": "207" } ] }, "patient": { "reference": "resource:0" }, "occurrenceDateTime": "2021-01-01", "performer": [ { "actor": { "display": "ABC General Hospital" } } ], "lotNumber": "0000001" } }, { "fullUrl": "resource:2", "resource": { "resourceType": "Immunization", "status": "completed", "vaccineCode": { "coding": [ { "system": "http://hl7.org/fhir/sid/cvx", "code": "207" } ] }, "patient": { "reference": "resource:0" }, "occurrenceDateTime": "2021-01-29", "performer": [ { "actor": { "display": "ABC General Hospital" } } ], "lotNumber": "0000007" } } ] } } } }
Please let me know if you encounter a bug ;-) eric@vyncke.org.
All the data that you upload are immediately deleted from the server after being displayed on your browser. The only retained information is your IP address and when you accessed this web site.