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": "Musterfrau-Gößinger",
            "fnt": "MUSTERFRAU<GOESSINGER",
            "gn": "Gabriele",
            "gnt": "GABRIELE"
        },
        "dob": "1998-02-26",
        "v": [
            {
                "tg": "840539006",
                "vp": "1119349007",
                "mp": "EU/1/20/1528",
                "ma": "ORG-100030215",
                "dn": 1,
                "sd": 2,
                "dt": "2021-02-18",
                "co": "AT",
                "is": "Ministry of Health, Austria",
                "ci": "URN:UVCI:01:AT:10807843F94AEE0EE5093FBC254BD813#B"
            }
        ]
    },
    "CBOR": "bf6376657265312e302e30636e616dbf62666e754d7573746572667261752d47c3b6c39f696e67657263666e74754d5553544552465241553c474f455353494e47455262676e684761627269656c6563676e74684741425249454c45ff63646f626a313939382d30322d3236617681bf627467693834303533393030366276706a31313139333439303037626d706c45552f312f32302f31353238626d616d4f52472d31303030333032313562646e01627364026264746a323032312d30322d313862636f624154626973781b4d696e6973747279206f66204865616c74682c2041757374726961626369783155524e3a555643493a30313a41543a31303830373834334639344145453045453530393346424332353442443831332342ffff",
    "COSE": "d2844da20448d919375fc1e7b6b20126a0590133a4041a61817ca0061a60942ea001624154390103a101a4617681aa62646e01626d616d4f52472d3130303033303231356276706a313131393334393030376264746a323032312d30322d313862636f624154626369783155524e3a555643493a30313a41543a31303830373834334639344145453045453530393346424332353442443831332342626d706c45552f312f32302f31353238626973781b4d696e6973747279206f66204865616c74682c20417573747269616273640262746769383430353339303036636e616da463666e74754d5553544552465241553c474f455353494e47455262666e754d7573746572667261752d47c3b6c39f696e67657263676e74684741425249454c4562676e684761627269656c656376657265312e302e3063646f626a313939382d30322d323658405812fce67cb84c3911d78e3f61f890d0c80eb9675806aebed66aa2d0d0c91d1fc98d7bcb80bf00e181806a9502e11b071325901bd0d2c1b6438747b8cc50f521",
    "COMPRESSED": "78dabbd4e2bb88c5e3a6a479fcc1e7db3631aa2d8864345ec22295d858b3804d2a618ade02c624c7104b46e6858c4b12cb1a5725a5e43126e526e6fa07b9eb1a1a1818181b18199a26951564191a1a5a1a9b581a189827a59464190185750d8c740d2d9292f3810624256756188606f9598586397b5a19185a398658191a5818985b9818bb599a38baba1ab8ba9a1a581abb39391b999a38b958181a2b3b25e516e4b886ea1bea1b19e81b9a1a592465165748fb66e665169714552ae4a72978a426e69464e828389602453213938a5398924ad2332d4c0c4c8d814e314bce4bcc5d929c965752ea1b1a1ce21ae416e4186ae3eeef1a1cece9e7ee1a94949657ea0bd49a5a94569458aaeb7e78dbe1f99979e9a945c9e9792519ee8e4e419eae3eae49e97919ee89494599a939a9c965a945a9867a067a06c929f9495986969616206f1a9945384408fd7956b3c3c752f07a9f7de28f09174ef0ed4c8f605bb7ef5ad6a20b174ecaca9fecad3eddb09fe1616343d654a687d2ecc2aa13a42f5c3ab8cdb9dd7dc79980af8a0066e489c3",
    "BASE45": "NCFOXN%TS3DH3ZSUZK+.V0ETD%65NL-AH-R6IOOK.IR9B+9G4G50PHZF0AT4V22F/8X*G3M9JUPY0BX/KR96R/S09T./0LWTKD33236J3TA3M*4VV2 73-E3GG396B-43O058YIB73A*G3W19UEBY5:PI0EGSP4*2DN43U*0CEBQ/GXQFY73CIBC:G 7376BXBJBAJ UNFMJCRN0H3PQN*E33H3OA70M3FMJIJN523.K5QZ4A+2XEN QT QTHC31M3+E32R44$28A9H0D3ZCL4JMYAZ+S-A5$XKX6T2YC 35H/ITX8GL2-LH/CJTK96L6SR9MU9RFGJA6Q3QR$P2OIC0JVLA8J3ET3:H3A+2+33U SAAUOT3TPTO4UBZIC0JKQTL*QDKBO.AI9BVYTOCFOPS4IJCOT0$89NT2V457U8+9W2KQ-7LF9-DF07U$B97JJ1D7WKP/HLIJL8JF8JFHJP7NVDEBU1J*Z222E.GJ457661CFFTWM-8P2IUE7K*SSW613:9/:TT5IYQBTBU16R4I1A/9VRPJ-TS.7ZEM7MSVOCD4RG2L-TQJROXL2J:52J7F0Q10SMAP3CG3KHF0DWIH",
    "PREFIX": "HC1:NCFOXN%TS3DH3ZSUZK+.V0ETD%65NL-AH-R6IOOK.IR9B+9G4G50PHZF0AT4V22F/8X*G3M9JUPY0BX/KR96R/S09T./0LWTKD33236J3TA3M*4VV2 73-E3GG396B-43O058YIB73A*G3W19UEBY5:PI0EGSP4*2DN43U*0CEBQ/GXQFY73CIBC:G 7376BXBJBAJ UNFMJCRN0H3PQN*E33H3OA70M3FMJIJN523.K5QZ4A+2XEN QT QTHC31M3+E32R44$28A9H0D3ZCL4JMYAZ+S-A5$XKX6T2YC 35H/ITX8GL2-LH/CJTK96L6SR9MU9RFGJA6Q3QR$P2OIC0JVLA8J3ET3:H3A+2+33U SAAUOT3TPTO4UBZIC0JKQTL*QDKBO.AI9BVYTOCFOPS4IJCOT0$89NT2V457U8+9W2KQ-7LF9-DF07U$B97JJ1D7WKP/HLIJL8JF8JFHJP7NVDEBU1J*Z222E.GJ457661CFFTWM-8P2IUE7K*SSW613:9/:TT5IYQBTBU16R4I1A/9VRPJ-TS.7ZEM7MSVOCD4RG2L-TQJROXL2J:52J7F0Q10SMAP3CG3KHF0DWIH",
    "2DCODE": "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",
    "TESTCTX": {
        "VERSION": 1,
        "SCHEMA": "1.0.0",
        "CERTIFICATE": "MIIBvTCCAWOgAwIBAgIKAXk8i88OleLsuTAKBggqhkjOPQQDAjA2MRYwFAYDVQQDDA1BVCBER0MgQ1NDQSAxMQswCQYDVQQGEwJBVDEPMA0GA1UECgwGQk1TR1BLMB4XDTIxMDUwNTEyNDEwNloXDTIzMDUwNTEyNDEwNlowPTERMA8GA1UEAwwIQVQgRFNDIDExCzAJBgNVBAYTAkFUMQ8wDQYDVQQKDAZCTVNHUEsxCjAIBgNVBAUTATEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASt1Vz1rRuW1HqObUE9MDe7RzIk1gq4XW5GTyHuHTj5cFEn2Rge37+hINfCZZcozpwQKdyaporPUP1TE7UWl0F3o1IwUDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFO49y1ISb6cvXshLcp8UUp9VoGLQMB8GA1UdIwQYMBaAFP7JKEOflGEvef2iMdtopsetwGGeMAoGCCqGSM49BAMCA0gAMEUCIQDG2opotWG8tJXN84ZZqT6wUBz9KF8D+z9NukYvnUEQ3QIgdBLFSTSiDt0UJaDF6St2bkUQuVHW6fQbONd731/M4nc=",
        "VALIDATIONCLOCK": "2021-05-06T18:00:00Z",
        "DESCRIPTION": "VALID: AT: Vaccination"
    },
    "EXPECTEDRESULTS": {
        "EXPECTEDVALIDOBJECT": true,
        "EXPECTEDSCHEMAVALIDATION": true,
        "EXPECTEDDECODE": true,
        "EXPECTEDVERIFY": true,
        "EXPECTEDUNPREFIX": true,
        "EXPECTEDVALIDJSON": true,
        "EXPECTEDCOMPRESSION": true,
        "EXPECTEDB45DECODE": true,
        "EXPECTEDPICTUREDECODE": true
    }
}