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":"CARRASCO MARTIN","fnt":"CARRASCO<MARTIN","gn":"ANGEL","gnt":"ANGEL"},"dob":"1918-03-01","t":[{"tg":"840539006","tt":"LP6464-4","sc":"2021-05-14T00:00:00+02:00","dr":"2021-05-14T00:00:00+02:00","tr":"260415000","tc":"Hospital Clinico Universitario de Valladolid (Vall","co":"ES","is":"Gerencia Regional de Salud de Castilla y León","ci":"01ES07T895AA7BF69D99C77DB96B#E"}]},
   "CBOR": "BF6376657265312E302E30636E616DBF62666E6F434152524153434F204D415254494E63666E746F434152524153434F3C4D415254494E62676E65414E47454C63676E7465414E47454CFF63646F626A313931382D30332D3031617481BF62746769383430353339303036627474684C50363436342D346273637819323032312D30352D31345430303A30303A30302B30323A30306264727819323032312D30352D31345430303A30303A30302B30323A3030627472693236303431353030306274637832486F73706974616C20436C696E69636F20556E697665727369746172696F2064652056616C6C61646F6C6964202856616C6C62636F624553626973782E476572656E63696120526567696F6E616C2064652053616C75642064652043617374696C6C612079204C65C3B36E626369781E303145533037543839354141374246363944393943373744423936422345FFFF",
   "COSE": "D2844DA201260448F41AE086B7DA5A75A0590170A40162455304FB41D841F2656FEF9E06FB41D829E3057051EC390103A101A4617481A9626369781E30314553303754383935414137424636394439394337374442393642234562636F6245536264727819323032312D30352D31345430303A30303A30302B30323A3030626973782E476572656E63696120526567696F6E616C2064652053616C75642064652043617374696C6C612079204C65C3B36E6273637819323032312D30352D31345430303A30303A30302B30323A30306274637832486F73706974616C20436C696E69636F20556E697665727369746172696F2064652056616C6C61646F6C6964202856616C6C6274676938343035333930303662747269323630343135303030627474684C50363436342D3463646F626A313931382D30332D3031636E616DA462666E6F434152524153434F204D415254494E62676E65414E47454C63666E746F434152524153434F3C4D415254494E63676E7465414E47454C6376657265312E302E305840135C615FE95F27141DAAFDA31E9C8D8289EB7A60BABC023E571BFCCFE52E75AFF935F4DBA20D8427DE8CBADC773EF8688FBE3D49A08A299BDD4630F5EACF613E",
   "COMPRESSED": "78DABBD4E2BB88518DC5E38BD483B6EDB7A24A174432162C614C720D66F9ED78C3F1536AFEFB796C4096E663D682C037968CCC0B1997249634AE4C4ACEAC903330740D36300FB1B034757434777233B374B1B47436377771B2347352764D4ACE071A939452542169646064A86B60AA6B68126260600546DA0646403229B3B842CF3DB528352F3933512128353D333F2F3147212555213831A73405C4704E2C2EC9CCC94954A854F0493DBC392FA938199F8125C915461EF9C505992540739C7332F33293F31542F332CB528B8A81624599F92043C3128126A6E4E764A6286880D84925E999162606A6C696060666492545994666062686A60620034B327C02CC4CCC4C744D9253F293B20C2D0D2D740D8C750D0C93F312739724A5E5E53B3B060539063BFB2BF83A068578FA25A5E7A53AFAB9BBFA24A7E595C0256D2092C9E979255059A093520DF50CF40C221C846312E35FC6AB8BC8AEFABB586E4E6F53E7EBAA845D7B98ECC2A5FF9C7FAA57BAFEA7E997DB8B785BD4EFF5ECBA536EF723A37F9FADE7822ECDD977DD0CBEBE3A9F680700B5D2A09F",
   "BASE45": "NCFOXN%TSMAHN-HLYS/%QT5NU9NMG9/R86 2NDC$IE 0D.0UVYOOOAPAWYFFJ78T5TE5RMDOK1JZZPQA36S4VT60T9X5QFAIT567U1I36%KMJS63VEN4F5O6%XEQ MJ%6M4FZNM2QE0/EPK9I+0PTIGIA3A41VCSWC%PDMOL27DTJCB6C3/8VZ0958AC5ADN/8QQ+MPW6IA7OBAX357X7K:7FA6P84DYAU4796L W0+8EFQ50NP4KPRVA9XATB9ZZN616647I7K/Y41V29-3$+OAGJT681ZJ%J6WH6*WU*K8/I6QJA.MH2JC.KJO34XTOWEGJ4LGBTB0LM9DJFRUZ4+FJE 4Y3LL/II 05B9.Z8M+8:Y001H%Y0XI09H6-F0+V9.T9D 9PRAAUICO1/T19UE2YHAT1UVI/E2$4JY/K3:SZK7WT0KZ0*XV6HV4$0ADF7Y4 CTNK7RLN1SV6AL--I-W4D54TNP8EF47AMDKZGA2:UG%U2E46XGKH2%4C+ULTGPHVV38B9-9ERAUZT0XG5SF+-TF:KDZJ2OLZSNAAL+8JJSHIRB4FUW-TSOA.AV5UKH8K1CTB-56MRN.R55OMI7 6D140ASQO3",
   "PREFIX": "HC1:NCFOXN%TSMAHN-HLYS/%QT5NU9NMG9/R86 2NDC$IE 0D.0UVYOOOAPAWYFFJ78T5TE5RMDOK1JZZPQA36S4VT60T9X5QFAIT567U1I36%KMJS63VEN4F5O6%XEQ MJ%6M4FZNM2QE0/EPK9I+0PTIGIA3A41VCSWC%PDMOL27DTJCB6C3/8VZ0958AC5ADN/8QQ+MPW6IA7OBAX357X7K:7FA6P84DYAU4796L W0+8EFQ50NP4KPRVA9XATB9ZZN616647I7K/Y41V29-3$+OAGJT681ZJ%J6WH6*WU*K8/I6QJA.MH2JC.KJO34XTOWEGJ4LGBTB0LM9DJFRUZ4+FJE 4Y3LL/II 05B9.Z8M+8:Y001H%Y0XI09H6-F0+V9.T9D 9PRAAUICO1/T19UE2YHAT1UVI/E2$4JY/K3:SZK7WT0KZ0*XV6HV4$0ADF7Y4 CTNK7RLN1SV6AL--I-W4D54TNP8EF47AMDKZGA2:UG%U2E46XGKH2%4C+ULTGPHVV38B9-9ERAUZT0XG5SF+-TF:KDZJ2OLZSNAAL+8JJSHIRB4FUW-TSOA.AV5UKH8K1CTB-56MRN.R55OMI7 6D140ASQO3",
   "2DCODE": "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",
   "TESTCTX":{
       "VERSION": 1,
       "SCHEMA": "1.0.0",
       "CERTIFICATE": "MIIBVDCB/KADAgECAgRghs6WMAoGCCqGSM49BAMCMDMxCzAJBgNVBAYTAkVTMSQwIgYDVQQDDBtUZXN0IENWRCBTQUNZTCBFQyBzZWNwMjU2cjEwHhcNMjEwNDI2MTQzMDQ2WhcNMjUwNDI2MTQzMDQ2WjAzMQswCQYDVQQGEwJFUzEkMCIGA1UEAwwbVGVzdCBDVkQgU0FDWUwgRUMgc2VjcDI1NnIxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESV30jitIyiI3ygtWRUFD/DXrx9JHrq2VWmdH3dwbrD94I2VTZAehQVRqUwzDOaQ3Qwa2LizwJtqTO/SJ3VkCNTAKBggqhkjOPQQDAgNHADBEAiA7EqGKqORP9ON2YxzTUjmgmHcLhfVMcD0tSpDpprfpUAIgHZ4cWBIJQ5nDO/mOGuCtBC25mLtGFVhA+/ScWlnnvhQ=",
       "VALIDATIONCLOCK": "2021-05-21T15:17:15+02:00",
       "DESCRIPTION": "PCR 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
    }
}