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": "FICTICIO ACTIVO",
            "fnt": "FICTICIO<ACTIVO",
            "gn": "CIUDADANO",
            "gnt": "CIUDADANO"
        },
        "dob": "1970-12-01",
        "t": [
            {
                "tg": "840539006",
                "tt": "LP6464-4",
                "nm": "Abbott Rapid Diagnostics, Panbio COVID-19 Ag Test",
                "ma": "1232",
                "sc": "2021-04-03T15:30:00+01:00",
                "dr": "2021-04-04T19:00:00+01:00",
                "tr": "260415000",
                "tc": "Un laboratorio privado",
                "co": "ES",
                "is": "Servicio Canario de la Salud",
                "ci": "01ES05T8034C2ED473E6995B4BA5#A"
            }
        ]
    },
    "CBOR": "BF6376657265312E302E30636E616DBF62666E6F464943544943494F2041435449564F63666E746F464943544943494F3C41435449564F62676E69434955444144414E4F63676E7469434955444144414E4FFF63646F626A313937302D31322D3031617481BF62746769383430353339303036627474684C50363436342D34626E6D78314162626F747420526170696420446961676E6F73746963732C2050616E62696F20434F5649442D31392041672054657374626D6164313233326273637819323032312D30342D30335431353A33303A30302B30313A30306264727819323032312D30342D30345431393A30303A30302B30313A30306274726932363034313530303062746376556E206C61626F7261746F72696F207072697661646F62636F624553626973781C536572766963696F2043616E6172696F206465206C612053616C7564626369781E303145533035543830333443324544343733453639393542344241352341FFFF",
    "COSE": "D2844DA20126044874A81336DE8FAFFFA0590183A401624553041A68163F0306FB41D828996528C49C390103A101A4617481AB626369781E30314553303554383033344332454434373345363939354234424135234162636F6245536264727819323032312D30342D30345431393A30303A30302B30313A3030626973781C536572766963696F2043616E6172696F206465206C612053616C7564626D616431323332626E6D78314162626F747420526170696420446961676E6F73746963732C2050616E62696F20434F5649442D313920416720546573746273637819323032312D30342D30335431353A33303A30302B30313A303062746376556E206C61626F7261746F72696F207072697661646F6274676938343035333930303662747269323630343135303030627474684C50363436342D3463646F626A313937302D31322D3031636E616DA462666E6F464943544943494F2041435449564F62676E69434955444144414E4F63666E746F464943544943494F3C41435449564F63676E7469434955444144414E4F6376657265312E302E305840EA71BBB565AB716DBEF1A0ACEDB061A2CEBAA5CED9063AE3038BB9ED6CD196AFE14A56424AC481468FC4C7945C9F5B770306F1EFEFBEABF7D1AB6AB54D93E58A",
    "BASE45": "NCFOXN%TSMAHN-HNTKO+GVNRJAW8BW/R8B%6NDC$IEM/CNOPRUM%0D.0UGN82:CS4PRC7:ZH6I1$4JM:IR1MPK9V L9L69UEC%6+W1646W*6X*6V E:96L.EEWMJS6/G6VJE8 A0T932Q6G3ZXIRSAPEDG8C5DL86CQR8T0HH*APZ0IZKE6C3S4OH6%L5ILGBUHWH6OP6.W2MN2MF2YAGYJ99H83NKF9E3-9 H9/.DTNH$IISCA9.B9+G1PCDJAFD9BH8/ICF/CALGK.C6LFE:FPC9LMED:HC687+BZCPXBW.:9PZBZL9U9P$*G3-QAOI-RSET4S%H:O1D.L*FI0:5. 5D-PEKB3YI-XI-KIXQM5BKDTMQ967287Q4UYQD*O%+Q.SQBDO3KLB75EHPSGO0IQT30%5L9UO GOP*OSV8GP4 BLLYPPTQ*88+EQHCRF46L/5R3FMIA:/BMUJBRE19LD9LFKGN9I7YUQK9JWPX4V5%EJWEM/U71A UP$EG5EM745F/93L5DIAF0JEYI1DLNCK1625JUTCE67RV:Q1NNX%71BBZ.EDTSHSE%1JDXNW0D$DJ*TFFYRKUH$3RE%URTESJ7QJTP7G6JVBFJ3OQ.$PE14OBOSBND$VW/QLPBC/4E/TL307MP90",
    "PREFIX": "HC1:NCFOXN%TSMAHN-HNTKO+GVNRJAW8BW/R8B%6NDC$IEM/CNOPRUM%0D.0UGN82:CS4PRC7:ZH6I1$4JM:IR1MPK9V L9L69UEC%6+W1646W*6X*6V E:96L.EEWMJS6/G6VJE8 A0T932Q6G3ZXIRSAPEDG8C5DL86CQR8T0HH*APZ0IZKE6C3S4OH6%L5ILGBUHWH6OP6.W2MN2MF2YAGYJ99H83NKF9E3-9 H9/.DTNH$IISCA9.B9+G1PCDJAFD9BH8/ICF/CALGK.C6LFE:FPC9LMED:HC687+BZCPXBW.:9PZBZL9U9P$*G3-QAOI-RSET4S%H:O1D.L*FI0:5. 5D-PEKB3YI-XI-KIXQM5BKDTMQ967287Q4UYQD*O%+Q.SQBDO3KLB75EHPSGO0IQT30%5L9UO GOP*OSV8GP4 BLLYPPTQ*88+EQHCRF46L/5R3FMIA:/BMUJBRE19LD9LFKGN9I7YUQK9JWPX4V5%EJWEM/U71A UP$EG5EM745F/93L5DIAF0JEYI1DLNCK1625JUTCE67RV:Q1NNX%71BBZ.EDTSHSE%1JDXNW0D$DJ*TFFYRKUH$3RE%URTESJ7QJTP7G6JVBFJ3OQ.$PE14OBOSBND$VW/QLPBC/4E/TL307MP90",
    "2DCODE": "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",
    "TESTCTX": {
        "VERSION": 1,
        "SCHEMA": "1.0.0",
        "CERTIFICATE": "MIICzjCCAnWgAwIBAgIUVIkbmi6KuhtbbA7eAgRuQCDAf0cwCgYIKoZIzj0EAwIwgcMxCzAJBgNVBAYTAkVTMRMwEQYDVQQIDApMYXMgUGFsbWFzMSMwIQYDVQQHDBpMYXMgUGFsbWFzIGRlIEdyYW4gQ2FuYXJpYTE6MDgGA1UECgwxQ29uc2VqZXLDg8KtYSBkZSBTYW5pZGFkIGRlbCBHb2JpZXJubyBkZSBDYW5hcmlhczElMCMGA1UECwwcU2VydmljaW8gQ2FuYXJpbyBkZSBsYSBTYWx1ZDEXMBUGA1UEAwwOQ1NDQV9ER0NfRVNfMDEwHhcNMjEwNTAzMTYwNjI3WhcNMjUwNTAzMTYwNjI3WjCBwzELMAkGA1UEBhMCRVMxEzARBgNVBAgMCkxhcyBQYWxtYXMxIzAhBgNVBAcMGkxhcyBQYWxtYXMgZGUgR3JhbiBDYW5hcmlhMTowOAYDVQQKDDFDb25zZWplcsODwq1hIGRlIFNhbmlkYWQgZGVsIEdvYmllcm5vIGRlIENhbmFyaWFzMSUwIwYDVQQLDBxTZXJ2aWNpbyBDYW5hcmlvIGRlIGxhIFNhbHVkMRcwFQYDVQQDDA5DU0NBX0RHQ19FU18wMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL/UIwyQbh6MoxY+UtPTI33+nS7JBmAOHUGfh6othEDiGGxa0nu5SAhYTa8nU9HNwHW0KJnWcYtsMkuo7iX8egyjRTBDMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBQnl4YAajmay8M/dbJvd9A1+QFUpjAKBggqhkjOPQQDAgNHADBEAiBYo2HLoYwQXjZoxg5fifDQ4eA4F/5e0J74poGN4DTbMgIgPTy3uM9x51dttocbT8QOteSNbI1bpx9awcrdTMeiLXA=",
        "VALIDATIONCLOCK": "2021-05-17T13:46:12.651+01:00",
        "DESCRIPTION": "Prueba de generación de certificado de prueba del Servicio Canario de la Salud."
    },
    "EXPECTEDRESULTS": {
        "EXPECTEDDECODE": true,
        "EXPECTEDVERIFY": true
    }
}