dgc 0.0.7

A parser and validator for the EU Digital Green Certificate (dgc) a.k.a. greenpass
Documentation
{
   "JSON": {"ver":"1.0.0","nam":{"fn":"GONZALEZ GILMARTIN","fnt":"GONZALEZ<GILMARTIN","gn":"ALVARO","gnt":"ALVARO"},"dob":"1993-08-05","r":[{"tg":"840539006","fr":"2021-04-01","co":"ES","is":"Gerencia Regional de Salud de Castilla y León","df":"2021-04-12","du":"2021-09-28","ci":"01ES07R6FA4C90B8805C5B10BC5C#5"}]},
   "CBOR": "BF6376657265312E302E30636E616DBF62666E72474F4E5A414C455A2047494C4D415254494E63666E7472474F4E5A414C455A3C47494C4D415254494E62676E66414C5641524F63676E7466414C5641524FFF63646F626A313939332D30382D3035617281BF627467693834303533393030366266726A323032312D30342D303162636F624553626973782E476572656E63696120526567696F6E616C2064652053616C75642064652043617374696C6C612079204C65C3B36E6264666A323032312D30342D31326264756A323032312D30392D3238626369781E303145533037523646413443393042383830354335423130424335432335FFFF",
   "COSE": "D2844DA201260448F41AE086B7DA5A75A0590116A40162455304FB41D854B2501449BA06FB41D829D990145A1D390103A101A4617281A7626369781E30314553303752364641344339304238383035433542313042433543233562636F6245536264666A323032312D30342D31326264756A323032312D30392D32386266726A323032312D30342D3031626973782E476572656E63696120526567696F6E616C2064652053616C75642064652043617374696C6C612079204C65C3B36E6274676938343035333930303663646F626A313939332D30382D3035636E616DA462666E72474F4E5A414C455A2047494C4D415254494E62676E66414C5641524F63666E7472474F4E5A414C455A3C47494C4D415254494E63676E7466414C5641524F6376657265312E302E305840A74AC1058902CDD71523A6A19678550C7CF9182B4E416FCB49968174FB9FD153F07AC262892A5987018FEAFDFDA946D5A2E66BF7DC6D2030777D27D0ADE3186C",
   "COMPRESSED": "78DABBD4E2BB88518DC5E38BD483B6EDB7A24A1744328A2D614C720D66F9ED782364538088E72E36204BF3E6049128594B46E6858C4B128B1A9727256756C81918BA061B980799B9399A385B1A38595818983A9B3A191A38399B3A2B9B2625E7038D494A49CB32323032D43530D135344A4A2985F22C758D2C92D28AE07206864999C5157AEEA945A979C999890A41A9E999F97989390A29A90AC18939A529208673627149664E4EA242A5824FEAE1CD794925E999162606A6C696060666C929F94959869696C6BA0616BA06A6C97989B94B92D2F28ADCFDFDA21C7D5CA314DC3D7D7C1D83423CFD92D2F3D21C7DC21C83FC93D3F24AE00A6CE00A92D3F34A602ACA802E32D433D033887058EE7590B593E9EC7551E5650BA75584F2D4FC94D0F673CC3FED39ADB1E4F7FC8BC11FAA0E25756A45B633F6BFFAFB77A5DBD545CFB2BFDFC9553028AF55BFB0F6B1440E0012648245",
   "BASE45": "NCFOXN%TSMAHN-HLYS/%QT5NU9NMG9/R83LHNDC$IE 0D.0UFL41PA$DH+$5W34N$U:P0O45AN9I6T5XHMF2CG3V.4*2DFDPU53XY0*9JNJJVC7R577E3CDB-43II7NF77E3WC7-F7SRJSZ49K0.B9 E9PF6846A$QW76UW6SH99B5VRUX%EPS5XRQ%GS5$0VD98-OFOF/HL5JL*LPREHOD8-NTAOVTFH C1TGL0LO.C7/85*:G1KCPC9L+93NKP-KS4APOS:EFUZ4+FJE 4Y3LL/II 0HJP7NVDEBU1JO5PSY0CNN$3LIGF5JNBPIZTU8.R+2W3R30WBUS2 Y73VFWQG/V7BPI3$U3R3COO%UG/UIGSUOESHYD6F1YZQ5I9JI599G7J6YO67N659EP6UADIKVI8+T+FA$YC.6LE GT-QQ I17V. PO:T5/LP.SV-VTIOJML4X4PJDN1NW8V WVT5FRZR6$8*QM4DSSYAK65 $AWGMKIMTY1SE24LG",
   "PREFIX": "HC1:NCFOXN%TSMAHN-HLYS/%QT5NU9NMG9/R83LHNDC$IE 0D.0UFL41PA$DH+$5W34N$U:P0O45AN9I6T5XHMF2CG3V.4*2DFDPU53XY0*9JNJJVC7R577E3CDB-43II7NF77E3WC7-F7SRJSZ49K0.B9 E9PF6846A$QW76UW6SH99B5VRUX%EPS5XRQ%GS5$0VD98-OFOF/HL5JL*LPREHOD8-NTAOVTFH C1TGL0LO.C7/85*:G1KCPC9L+93NKP-KS4APOS:EFUZ4+FJE 4Y3LL/II 0HJP7NVDEBU1JO5PSY0CNN$3LIGF5JNBPIZTU8.R+2W3R30WBUS2 Y73VFWQG/V7BPI3$U3R3COO%UG/UIGSUOESHYD6F1YZQ5I9JI599G7J6YO67N659EP6UADIKVI8+T+FA$YC.6LE GT-QQ I17V. PO:T5/LP.SV-VTIOJML4X4PJDN1NW8V WVT5FRZR6$8*QM4DSSYAK65 $AWGMKIMTY1SE24LG",
   "2DCODE": "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",
   "TESTCTX":{
       "VERSION": 1,
       "SCHEMA": "1.0.0",
       "CERTIFICATE": "MIIBVDCB/KADAgECAgRghs6WMAoGCCqGSM49BAMCMDMxCzAJBgNVBAYTAkVTMSQwIgYDVQQDDBtUZXN0IENWRCBTQUNZTCBFQyBzZWNwMjU2cjEwHhcNMjEwNDI2MTQzMDQ2WhcNMjUwNDI2MTQzMDQ2WjAzMQswCQYDVQQGEwJFUzEkMCIGA1UEAwwbVGVzdCBDVkQgU0FDWUwgRUMgc2VjcDI1NnIxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESV30jitIyiI3ygtWRUFD/DXrx9JHrq2VWmdH3dwbrD94I2VTZAehQVRqUwzDOaQ3Qwa2LizwJtqTO/SJ3VkCNTAKBggqhkjOPQQDAgNHADBEAiA7EqGKqORP9ON2YxzTUjmgmHcLhfVMcD0tSpDpprfpUAIgHZ4cWBIJQ5nDO/mOGuCtBC25mLtGFVhA+/ScWlnnvhQ=",
       "VALIDATIONCLOCK": "2021-05-21T09:53:55+02:00",
       "DESCRIPTION": "Recovery complete test"
   },
   "EXPECTEDRESULTS": {
       "EXPECTEDVALIDOBJECT": true,
       "EXPECTEDSCHEMAVALIDATION": true,
       "EXPECTEDENCODE": true,
       "EXPECTEDDECODE": true,
       "EXPECTEDVERIFY": true,
       "EXPECTEDCOMPRESSION": true,
       "EXPECTEDKEYUSAGE": true,
       "EXPECTEDUNPREFIX": true,
       "EXPECTEDVALIDJSON": true,
       "EXPECTEDB45DECODE": true,
       "EXPECTEDPICTUREDECODE": true,
       "EXPECTEDEXPIRATIONCHECK": true
    }
}