dgc 0.0.7

A parser and validator for the EU Digital Green Certificate (dgc) a.k.a. greenpass
Documentation
{
	"JSON": {
		"ver": "1.3.0",
		"nam": {
			"fn": "Lövström",
			"fnt": "LOEVSTROEM",
			"gn": "Oscar",
			"gnt": "OSCAR"
		},
		"dob": "1958-11-11",
		"t": [
			{
				"tg": "840539006",
				"tt": "LP217198-3",
				"ma": "1232",
				"sc": "2021-06-15T07:53:03Z",
				"tr": "260415000",
				"tc": "Axelsbergs vårdcentral",
				"co": "SE",
				"is": "Swedish eHealth Agency",
				"ci": "URN:UVCI:01:SE:EHM/TSTAX67554312"
			}
		]
	},
	"CBOR": "a4617481a9626369782055524e3a555643493a30313a53453a45484d2f5453544158363735353433313262636f625345626973765377656469736820654865616c7468204167656e6379626d616431323332627363c074323032312d30362d31355430373a35333a30335a627463774178656c7362657267732076c3a5726463656e7472616c62746769383430353339303036627472693236303431353030306274746a4c503231373139382d3363646f626a313935382d31312d3131636e616da462666e6a4cc3b676737472c3b66d62676e654f7363617263666e746a4c4f45565354524f454d63676e74654f534341526376657265312e332e30",
	"COSE": "d2844da2012604485f74910195c5cecba0590112a401625345041a60e032cb061a60c877cb390103a101a4617481a9626369782055524e3a555643493a30313a53453a45484d2f5453544158363735353433313262636f625345626973765377656469736820654865616c7468204167656e6379626d616431323332627363c074323032312d30362d31355430373a35333a30335a627463774178656c7362657267732076c3a5726463656e7472616c62746769383430353339303036627472693236303431353030306274746a4c503231373139382d3363646f626a313935382d31312d3131636e616da462666e6a4cc3b676737472c3b66d62676e654f7363617263666e746a4c4f45565354524f454d63676e74654f534341526376657265312e332e3058402c1814165156cab091fc12b8faa8fc1c846e793b823f2b34a0691766a20f755e40a9f51342227d3c030645e754283084b882753f4c927105800cb87a292b1e5a",
	"COMPRESSED": "78da0dcc414bc25000c07146e629082c2a24627488c2b4f736377505693130d02c37a53c947bcfe79ce893b6975a1094f8050cba5718d4ad93780c2488840e7d826e7d822ed121e17ffdfd3fdbc97b6ec9153f661deee6f563787bc879ba1cd2549737ff250cdddefc5b6318e1c6eeb8aec1ae9e10b69a7c26bdab64b2db3b0a808aa62a6a3cb9a66b7aec400e4952508402c2b5d100594e5d6b9082e594781227468595f89849283e4355a3000551400e7e610210a01fc87e28e920a448a202c41c62b8116b928a83886d3a7c7df0601730a1cc362a8899563808243102808c986d09320842090080182b27f604188291b05fc4851a2ac38814f643380a53a3da45455a4e0c7a7587d9835e159994a41c6cd8b8484732a566353d9d5293d8a48ca4b4ed581ad7894d60400c8083e8eadcf4cc7ef6fdb9f3e7e9ff3efecdb7e9d97a6bd317bcb5668bf793a747d1a79fa9adc58b8d31b7faad2f8376bf75ba99b83e19bf9ce89faff81672ff223e7d7d",
	"BASE45": "NCFMX1KB8JPOC40IEEG4TM11XE54KC0DHM*MJ%6WZEJDDV76OQ50+KVYIXCQS$JEUI16JE42/FVIR1L0B+*Q.SI3O1SBHJ$10MG0*FF-5XC458GV0WFZR8RF.IPU08CZ3+8T*PC8TFMHF/S3AVAP37YU482SS+VXNCIOS28U74MH3M352%NJH+41ULMRM*K7BBGD0LGJD6LNJQD0*TC 1CIA:UGURO:IQ2DBK B4CI21T38FJ/4.*GAJV8B99*78$A500ACAK$1*BCQ42 04V.FALTQYKTLKTZORLC492TNICSGH D9XFLHU--2KKK6%64CHM+AE11 86DBG6CJE71:11961W8GMK5P4VJ43 II 4C9$GCI569H/5V 37 PAWQROY80*9TLF$7HFRG*W2RZIVQ3+HR8695I6K-CNZ7YJAKHR4ZHC*M96B7BR8Z9G484BG1KT:-RF%P4AV%MNEET2CWO9WBBN9MRISD103/-MBVH:TIP39Q8LCKL /OA%HSBNA+L*RG89OOQN6DNLB3S$JJ8KFGV9OE E4+%F",
	"PREFIX": "HC1:NCFMX1KB8JPOC40IEEG4TM11XE54KC0DHM*MJ%6WZEJDDV76OQ50+KVYIXCQS$JEUI16JE42/FVIR1L0B+*Q.SI3O1SBHJ$10MG0*FF-5XC458GV0WFZR8RF.IPU08CZ3+8T*PC8TFMHF/S3AVAP37YU482SS+VXNCIOS28U74MH3M352%NJH+41ULMRM*K7BBGD0LGJD6LNJQD0*TC 1CIA:UGURO:IQ2DBK B4CI21T38FJ/4.*GAJV8B99*78$A500ACAK$1*BCQ42 04V.FALTQYKTLKTZORLC492TNICSGH D9XFLHU--2KKK6%64CHM+AE11 86DBG6CJE71:11961W8GMK5P4VJ43 II 4C9$GCI569H/5V 37 PAWQROY80*9TLF$7HFRG*W2RZIVQ3+HR8695I6K-CNZ7YJAKHR4ZHC*M96B7BR8Z9G484BG1KT:-RF%P4AV%MNEET2CWO9WBBN9MRISD103/-MBVH:TIP39Q8LCKL /OA%HSBNA+L*RG89OOQN6DNLB3S$JJ8KFGV9OE E4+%F",
	"2DCODE": "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",
	"TESTCTX": {
		"VERSION": 1,
		"SCHEMA": "1.3.0",
		"CERTIFICATE": "MIIDuDCCAxqgAwIBAgIRANtvXTt2LMLUfUO2KHmYtjIwCgYIKoZIzj0EAwQwgbYxCzAJBgNVBAYTAlNFMS4wLAYDVQQKDCVNeW5kaWdoZXRlbiBmw7ZyIGRpZ2l0YWwgZsO2cnZhbHRuaW5nMSswKQYDVQQLDCJEaWdpdGFsIEdyZWVuIENlcnRpZmljYXRlIFNlcnZpY2VzMRQwEgYDVQRhDAsyMDIxMDAtNjg4MzE0MDIGA1UEAwwrU3dlZGlzaCBUZXN0IERpZ2l0YWwgR3JlZW4gQ2VydGlmaWNhdGUgQ1NDQTAeFw0yMTA1MTIxMzQyNThaFw0yMzA1MTIxNDAyNThaMFoxCzAJBgNVBAYTAlNFMR8wHQYDVQQKDBZTd2VkaXNoIGVIZWFsdGggQWdlbmN5MRUwEwYDVQRhDAwxNjIwMjEwMDQ3NDgxEzARBgNVBAMMCkRHQyBTaWduZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQXNY8VvikJck41yqTP4ywegcKsTDsVMWlHAOPvDfzQs+n1T/912la9SQw4rzzyYHqoC+I+WVwwkkVcDOijb6B+o4IBYjCCAV4wCQYDVR0TBAIwADBLBgNVHSMERDBCgEAnHnVl0b8E1FuUaJrc1hK/3qV4Wysws7FgVNlZUyfZjBUMa2zAq6IGrs3fQWWFpARcJxlvYqN7ROMv/LDPeTw1MEkGA1UdDgRCBEAjcpg8lU9ZA8xXQPB0npsHVTDdrA7qVXRd8L6iduUDlM2EaN8zMhpXws+q5y915pqPCu7vqzAczfalvdA0OhUXMA4GA1UdDwEB/wQEAwIFoDA5BgNVHR8EMjAwMC6gLKAqhihodHRwczovL2RnYy5pZHNlYy5zZS9jc2NhL2NybC9jc2NhMDEuY3JsMEEGCCsGAQUFBwEBBDUwMzAxBggrBgEFBQcwAYYlaHR0cHM6Ly9kZ2MuaWRzZWMuc2UvY3NjYS9vY3NwL2NzY2EwMTArBgNVHREEJDAigSByZWdpc3RyYXRvckBlaGFsc29teW5kaWdoZXRlbi5zZTAKBggqhkjOPQQDBAOBiwAwgYcCQgH9Bdswc/mGdqOSWduz9jrEo2YtpqcWBeDkttEXRYaipKZGZbsX9xmNeWSKrC6akSnl2vOi2RbZM7IHTAg0JvKPhwJBfmL9GGsldesODc9blXzeN6xVIMMvgU5jW3SAOpXEad8g7t7eycKXiXbbrwm358U0ePviW6L1aIkRtnOGOTpt33E=",
		"VALIDATIONCLOCK": "2021-06-16T12:50:03Z",
		"DESCRIPTION": "4: One RAT test entry - Everything should verify fine - Validity time extended for test reasons"
	},
	"EXPECTEDRESULTS": {
		"EXPECTEDSCHEMAVALIDATION": true,
		"EXPECTEDDECODE": true,
		"EXPECTEDVERIFY": true,
		"EXPECTEDUNPREFIX": true,
		"EXPECTEDVALIDJSON": true,
		"EXPECTEDCOMPRESSION": true,
		"EXPECTEDB45DECODE": true,
		"EXPECTEDPICTUREDECODE": true,
		"EXPECTEDEXPIRATIONCHECK": true
	}
}