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":"Romero Muñoz","fnt":"ROMERO<MUNOZ","gn":"José Carlos","gnt":"JOSE<CARLOS"},"dob":"2021-05-28","t":[{"tg":"840539006","tt":"LP217198-3","nm":"Panbio COVID-19 Ag Test","sc":"2021-05-10T10:54:34+02:00","dr":"2021-05-10T11:09:34+02:00","tr":"260415000","tc":"C.S. BARBASTRO","ma":"1232","co":"ES","is":"Ministerio de Sanidad","ci":"01ES21T1662955521D74217FDD29#D"}]},
 "CBOR": "BF6376657265312E302E30636E616DBF62666E6D526F6D65726F204D75C3B16F7A63666E746C524F4D45524F3C4D554E4F5A62676E6C4A6F73C3A9204361726C6F7363676E746B4A4F53453C4341524C4F53FF63646F626A323032312D30352D3238617481BF627467693834303533393030366274746A4C503231373139382D33626E6D7750616E62696F20434F5649442D31392041672054657374626D6164313233326273637819323032312D30352D31305431303A35343A33342B30323A30306264727819323032312D30352D31305431313A30393A33342B30323A3030627472693236303431353030306274636E432E532E2042415242415354524F62636F624553626973754D696E6973746572696F2064652053616E69646164626369781E303145533231543136363239353535323144373432313746444432392344FFFF",
 "COSE": "D2844DA20126044807805B250C759584A0590156A401624553041A60D85331061A60B0C631390103A101A4617481AB626369781E30314553323154313636323935353532314437343231374644443239234462636F6245536264727819323032312D30352D31305431313A30393A33342B30323A3030626973754D696E6973746572696F2064652053616E69646164626D616431323332626E6D7750616E62696F20434F5649442D313920416720546573746273637819323032312D30352D31305431303A35343A33342B30323A30306274636E432E532E2042415242415354524F62746769383430353339303036627472693236303431353030306274746A4C503231373139382D3363646F626A323032312D30352D3238636E616DA462666E6D526F6D65726F204D75C3B16F7A62676E6C4A6F73C3A9204361726C6F7363666E746C524F4D45524F3C4D554E4F5A63676E746B4A4F53453C4341524C4F536376657265312E302E3058405A0694214CEAE0A9192186AFB31600E31F7DB9AA06F4230DAB8ECF71890736F3861DE41C2574237B10E82C1491F1075353BBF67D98D6EC438F59B80348A12FB1",
 "BASE45": "NCFOXN%TSMAHN-HKTGX94G-ICWEXWP0993CM3XH74M6R5J71%JG6NRRD2JP3A M:UC*GPXS4MZKJ$E KE4+GKHGSRD2HICCH IJPII8KLTJL0JKMKNLII+KN%SHPIIDOM1JAM*7PQFZH9C+GYHILIIX2MDKLGHKCCHAJKOHGQ-IJIH4HGN+IRB8Z.C+ILG.CZ.CTC93DAG2OYJ9/H8RJC--C7JC.IAQKC6JKXIMQIAL/DC687+BZ9A+KRA+PE$85FQ2JO YB$S4PCNUHL/B3/SCLL51L2DJP7LPS4QUKOSD1C:H+-9VIOJF85B9-NT0 2$$0X4PCY0+-C1W4/GJI+C7*4M:K364LW4X$7K78RK37MBZD35AL5:4MMOLZ68999Q9E$BDZIS4JMZIZSJ%ZIFGSWLF0QCHZA6LFY:H72GENSLG1-FH E780P1FDYV4JF8Y4OJF8J-6WIKZ6WTNP8EFQLRC9W31M35Q7B8C9WWKP/HLIJL8JF8JF1729DASMA9%F:X70C5%HRZ0G*53XSCUSRRWLZ1OC UC5UB5C-KPQ8VN%9MHH3LDPMENCO9X33FHIMR+RGD6GU+JI1U2REH$SK/C8.GSI3OP3QYH",
 "PREFIX": "HC1:NCFOXN%TSMAHN-HKTGX94G-ICWEXWP0993CM3XH74M6R5J71%JG6NRRD2JP3A M:UC*GPXS4MZKJ$E KE4+GKHGSRD2HICCH IJPII8KLTJL0JKMKNLII+KN%SHPIIDOM1JAM*7PQFZH9C+GYHILIIX2MDKLGHKCCHAJKOHGQ-IJIH4HGN+IRB8Z.C+ILG.CZ.CTC93DAG2OYJ9/H8RJC--C7JC.IAQKC6JKXIMQIAL/DC687+BZ9A+KRA+PE$85FQ2JO YB$S4PCNUHL/B3/SCLL51L2DJP7LPS4QUKOSD1C:H+-9VIOJF85B9-NT0 2$$0X4PCY0+-C1W4/GJI+C7*4M:K364LW4X$7K78RK37MBZD35AL5:4MMOLZ68999Q9E$BDZIS4JMZIZSJ%ZIFGSWLF0QCHZA6LFY:H72GENSLG1-FH E780P1FDYV4JF8Y4OJF8J-6WIKZ6WTNP8EFQLRC9W31M35Q7B8C9WWKP/HLIJL8JF8JF1729DASMA9%F:X70C5%HRZ0G*53XSCUSRRWLZ1OC UC5UB5C-KPQ8VN%9MHH3LDPMENCO9X33FHIMR+RGD6GU+JI1U2REH$SK/C8.GSI3OP3QYH",
 "2DCODE": "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" 
,
"TESTCTX": {
		"VERSION": 1,
		"SCHEMA": "1.0.0",
		"CERTIFICATE": "MIIIHzCCB8WgAwIBAgIJf35N0O0if7S5MAoGCCqGSM49BAMCMIGwMT8wPQYDVQQDDDZFQURUcnVzdCBFQ0MgMjU2IFN1YkNBIEZvciBRdWFsaWZpZWQgQ2VydGlmaWNhdGVzIDIwMTkxLzAtBgNVBAoMJkV1cm9wZWFuIEFnZW5jeSBvZiBEaWdpdGFsIFRydXN0LCBTLkwuMQswCQYDVQQGEwJFUzEYMBYGA1UEYQwPVkFURVMtQjg1NjI2MjQwMRUwEwYDVQQLDAxMZWdhbCBQZXJzb24wHhcNMjEwNDI1MjMxMDM3WhcNMjYwNDI0MjMxMDM3WjCCAQYxNTAzBgNVBAMMLFBMQVRBRk9STUEgREUgVkFMSURBQ0lPTiBZIEZJUk1BIEVMRUNUUk9OSUNBMREwDwYDVQQFEwhTMjgzMzAwMjEQMA4GA1UEKgwHQU5UT05JTzEhMB8GA1UEBAwYUEVSRVogR09OWkFMRVogMTIzNDU2NzhaMRowGAYDVQQLDBFTRUxMTyBFTEVDVFJPTklDTzESMBAGA1UECwwJRTEyMzQ1Njc4MRcwFQYDVQQLDA5TVUJESVJFQ0NJT04gWDEXMBUGA1UEYQwOVkFURVMtUzI4MzMwMDIxFjAUBgNVBAoMDUVOVElEQURBIFMuTC4xCzAJBgNVBAYTAkVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeMLmnzwEz2ccCnIcpheqC6mcoT/Wwh3mrsqhhCZ70lROxuNrNmXALgx+NpBzl01T5zK91RuAedmfh0mxl3EmQKOCBW0wggVpMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAU00xsOr02/nCHI4c67j2Qz8ub9yEweQYIKwYBBQUHAQEEbTBrMEQGCCsGAQUFBzAChjhodHRwOi8vY2EuZWFkdHJ1c3QuZXUvZWFkdHJ1c3Qtc3ViY2EtZWNjMjU2ZWFkbHAyMDE5LmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZWFkdHJ1c3QuZXUwYwYDVR0SBFwwWoEOY2FAZWFkdHJ1c3QuZXWGFmh0dHA6Ly93d3cuZWFkdHJ1c3QuZXWGFWh0dHA6Ly9jYS5lYWR0cnVzdC5ldYYZaHR0cDovL3BvbGljeS5lYWR0cnVzdC5ldTCCAV8GA1UdEQSCAVYwggFSgRlhbnRvbmlvY29ycmVvQGVqZW1wbG8uY29tpIIBMzCCAS8xKDAmBglghVQBAwUGAQkMGWFudG9uaW9jb3JyZW9AZWplbXBsby5jb20xFzAVBglghVQBAwUGAQgMCEdPTlpBTEVaMRQwEgYJYIVUAQMFBgEHDAVQRVJFWjEWMBQGCWCFVAEDBQYBBgwHQU5UT05JTzE7MDkGCWCFVAEDBQYBBQwsUExBVEFGT1JNQSBERSBWQUxJREFDSU9OIFkgRklSTUEgRUxFQ1RST05JQ0ExGDAWBglghVQBAwUGAQQMCTEyMzQ1Njc4WjEXMBUGCWCFVAEDBQYBAwwIUzI4MzMwMDIxHDAaBglghVQBAwUGAQIMDUVOVElEQURBIFMuTC4xLjAsBglghVQBAwUGAQEMH1NFTExPIEVMRUNUUk9OSUNPIERFIE5JVkVMIEFMVE8wggGLBgNVHSAEggGCMIIBfjBvBgcEAIvsQAEDMGQwYgYIKwYBBQUHAgIwVgxURXVyb3BlYW4gVGVsZWNvbW11bmljYXRpb25zIFN0YW5kYXJkcyBJbnN0aXR1dGUuIGVJREFTIEV1cm9wZWFuIFJlZ3VsYXRpb24gQ29tcGxpYW50MIH+Bg4rBgEEAYN1AgEBAYLCETCB6zCBwQYIKwYBBQUHAgIwgbQMgbFDZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBzZWxsbyBlbGVjdHLDs25pY28gZGUgQWRtaW5pc3RyYWNpw7NuLCDDs3JnYW5vIG8gZW50aWRhZCBkZSBkZXJlY2hvIHDDumJsaWNvLCBuaXZlbCBhbHRvLiBDb25zdWx0ZSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGVuIGh0dHA6Ly9wb2xpY3kuZWFkdHJ1c3QuZXUwJQYIKwYBBQUHAgEWGWh0dHA6Ly9wb2xpY3kuZWFkdHJ1c3QuZXUwCgYIYIVUAQMFBgEwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMIHLBggrBgEFBQcBAwSBvjCBuzAVBggrBgEFBQcLAjAJBgcEAIvsSQECMAgGBgQAjkYBATALBgYEAI5GAQMCAQ8wCAYGBACORgEEMBMGBgQAjkYBBjAJBgcEAI5GAQYCMGwGBgQAjkYBBTBiMDAWKmh0dHBzOi8vZWFkdHJ1c3QuZXUvZW4vZG9jdW1lbnRzLWluLWZvcmNlLxMCZW4wLhYoaHR0cHM6Ly9lYWR0cnVzdC5ldS9kb2N1bWVudG9zLXZpZ2VudGVzLxMCZXMwSgYDVR0fBEMwQTA/oD2gO4Y5aHR0cDovL2NybC5lYWR0cnVzdC5ldS9lYWR0cnVzdC1zdWJjYS1lY2MyNTZlYWRscDIwMTkuY3JsMB0GA1UdDgQWBBQ/OLscGZ+Pg4CrckvYnPnShHYhQjAOBgNVHQ8BAf8EBAMCBeAwCgYIKoZIzj0EAwIDSAAwRQIhAKdQE7I7ELKgEnAyxyKJ7RJDB8ON9zauptkK6T77K+9GAiAVcpJa0xiiQaSq4PoDy/XZ2y/QF58Sh3uNv691aBClSA==",
		"VALIDATIONCLOCK": "2021-05-25T18:54:33+02:00",
		"DESCRIPTION": "Test certificate Spain"
	},
	"EXPECTEDRESULTS": {
		"EXPECTEDVALIDOBJECT": true,
		"EXPECTEDSCHEMAVALIDATION": true,
		"EXPECTEDENCODE": true,
		"EXPECTEDDECODE": true,
		"EXPECTEDVERIFY": true,
		"EXPECTEDUNPREFIX": true,
		"EXPECTEDVALIDJSON": true,
		"EXPECTEDB45DECODE": true,
		"EXPECTEDPICTUREDECODE": true
	}
}