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" : "Di Caprio",
      "fnt" : "DI<CAPRIO",
      "gn" : "Marilù Teresa",
      "gnt" : "MARILU<TERESA"
    },
    "dob" : "1977-06-16",
    "r" : [ {
      "tg" : "840539006",
      "fr" : "2021-05-02",
      "co" : "IT",
      "is" : "IT",
      "df" : "2021-05-04",
      "du" : "2021-10-31",
      "ci" : "01ITA65E2BD36C9E4900B0273D2E7C92EEB9#1"
    } ]
  },
  "CBOR" : "a4617281a76264756a323032312d31302d333162636f62495462636978263031495441363545324244333643394534393030423032373344324537433932454542392331626973624954627467693834303533393030366264666a323032312d30352d30346266726a323032312d30352d3032636e616da463666e746944493c43415052494f62666e6944692043617072696f63676e746d4d4152494c553c54455245534162676e6e4d6172696cc3b9205465726573616376657265312e302e3063646f626a313937372d30362d3136",
  "COSE" : "d2844da2044839301768cdda05130126a058e6a4041a6194e897061a60a78c8701624954390103a101a4617281a76264756a323032312d31302d333162636f62495462636978263031495441363545324244333643394534393030423032373344324537433932454542392331626973624954627467693834303533393030366264666a323032312d30352d30346266726a323032312d30352d3032636e616da463666e746944493c43415052494f62666e6944692043617072696f63676e746d4d4152494c553c54455245534162676e6e4d6172696cc3b9205465726573616376657265312e302e3063646f626a313937372d30362d31365840bbc15a08647c211c016b17928f27b0b64ad5403b89dfd428be295a7b6dbedb47ce1fc68dc940827d5d0204baa42363db3fd3b5c3573454afcf421fc9b4f479e0",
  "COMPRESSED" : "789cbbd4e2bb88c5c3d2403ce3ec2d566146b50511cf96b048254e79319d4d2a61794f3b639267882523f342c62589458dcb93524ab38c0c8c0c750d0d748d0d9392f381b249c999156a06869e218e66a6ae464e2ec666ce96ae269606064e0646e6c62e46aee6ce9646aeae4e96ca864999c5200d25e999162606a6c640356649296910130d4c750d4c92d28a103ca3e4bcc4dc25c9697925992e9e36ce8e01419efe496979992e990ace89054599f9c9e97925b9be8e419e3ea13621ae41aec18e49e97979be8945993987772a84a416a5162726970129433d033d83e494fca42c434b73735d03335d43b30887dd07a338526a146518b3c527f5ab6fd8e675d5c1baf3fe158d7d9a51d5b9fb6ebb9f933fd67bd2a1a936968965d712e5e4dbf697b71e0e3709597fde49fee4962f950f004e226d86",
  "BASE45" : "6BFOXN%TS3DH0YOJ58S S-W5HDC *MEB2B2JJ59J-9BC6:X9NECX0AKQC:3DCV4*XUA2P-FHT-H4SI/J9WVHWVH+ZEOV1J$HNTICZUBOM*LP$V25$0Q:J40IA3L/*84-5%:C92JN*4CY0*%9F/8J2P4.818T+:IX3M3.96RPVD9J-OZT1-NT0 2$$0$2PZX69B9VCDHI2/T9TU1BPIJKH/T7B-S-*O/Y41FD+X49+5Z-6%.HDD8R6W1FDJGJSFJ/4Q:T0.KJTNP8EFULNC:HA0K5HKRB4TD85LOLF92GF.3O.Z8CC7-2FQYG$%21 2O*4R60NM8JI0EUGP$I/XK$M8ZQE6YB9M66P8N31I.ROSK%IA1Q2N53Q-OQ2VC6E26T11ROSNK5W-*H+MJ%0RGZVGWNURI75RBSQSHLH1JG*CMH2.-S$7VX6N*Z1881J7G.F9I+SV06F+1M*93%D",
  "PREFIX" : "HC1:6BFOXN%TS3DH0YOJ58S S-W5HDC *MEB2B2JJ59J-9BC6:X9NECX0AKQC:3DCV4*XUA2P-FHT-H4SI/J9WVHWVH+ZEOV1J$HNTICZUBOM*LP$V25$0Q:J40IA3L/*84-5%:C92JN*4CY0*%9F/8J2P4.818T+:IX3M3.96RPVD9J-OZT1-NT0 2$$0$2PZX69B9VCDHI2/T9TU1BPIJKH/T7B-S-*O/Y41FD+X49+5Z-6%.HDD8R6W1FDJGJSFJ/4Q:T0.KJTNP8EFULNC:HA0K5HKRB4TD85LOLF92GF.3O.Z8CC7-2FQYG$%21 2O*4R60NM8JI0EUGP$I/XK$M8ZQE6YB9M66P8N31I.ROSK%IA1Q2N53Q-OQ2VC6E26T11ROSNK5W-*H+MJ%0RGZVGWNURI75RBSQSHLH1JG*CMH2.-S$7VX6N*Z1881J7G.F9I+SV06F+1M*93%D",
  "2DCODE" : "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrPYAAAGwElEQVR42u2aMa6DTBKEGxGQwQWQuAbZXAlfwJgLwJXIuAYSF4CMANH/V7yVHm+1K/0Bk9kisHFZGvd0V1X3YP5vXqt9YV/YF/aF/T/YatZOVbenZ6jcj2RaNk97W/ps8dGSOLDNj5fPuS2f2rn/zuY8pL6XFuZk4ts4sLF87XMy+hl82MsmlO1Yvuulc3tN9ooGe9dHO/HfwS+npZ/a3uafrIwLy5YzmF7Z0ep2NezLti8eD+YHa8uNvShbP/Is7bw66znZ0+HvZj0II99eU/m/r79p+SBMr937Wrl9GjkwJ1597EgIyH8V4HMwvmrHdHD/WHWGw7L0Y2kf0m5XfIo4MJ8AlJYtn8wa826fX8R/PxLX8rY4sNXmvLZiPIrdLJhq2VkeH1OfKo8EC1BWaTa/pmqbWE+Zh6pTdZcitFgwPi5kdR6oJism3VHwR6is2uLA3BeWxNqIwIeKDsfbZqtJubIYfYgDO8MMUQw+N7X3JFuo+mwu3JpMkfE4sLVePsEvkoS+uNK1LpO96kM1jFbEgfmIEEBTBIQlwZBLH7jKRHoh8owBW20hz99ZWezKrm1MfZQKOylnZRIJVhtryDNWmJ61tWPlU5mz79BXvQxxYNTsRVNXNWUs8sjrag3km6vQ4sCopgSamvjvc+tiqo3g79qCJqRbHBivHhWYKCiTtTAcFEStH961/lnYNqKAECbbXVpNZZU4q4Tdd8qqGuLA1ro6sYjheI3VJyxrPbciZ4yNuNrjwPzahQIMwmeiZak/HiPjzW0XHoVtY6Xdd+6Q7ZKJztPVMHUQ2q8uPAtbMYcqZMQIS+zw1SZVglu8m37X9ixs80p+JhCEdJusBe+oA+SpRUaCuW4u0juZGYJfNmYNhllh+Q3IszD8v0PO4/HaxY1U2QvCJBkm8DfH9SzMyDe0D2WHNJZuhLVkzpEJFhkJRibDjTRW7VS+w2wZ7yGuZc0WrTMO7LSjwfajgwTBiQwhIviH1WDSLg7MR9KMypX2dSNmlVSHQOZ3EHkWcWAbVKk+jkWSbMflGOVU1RHsN4p+FOYyMJbXap+HEfkjCHMTZJXNbk3Ko7AVqcVjqGWm+yiluTVhkf5iabpIsLBIDkzWtKm5EKClr+fm+rlHgtX0UxUdNDHPcY8yGOKrzRf4JIkDQ+ZOXHGm7mOAvgKZxoX+QmXHKw5shRh3BNfeGdmuok5+tJ6Ez25i9Chsu3bfjB6EgsIoooOS+BOvfjOND8PGg13GXazZ8Q5QJcHxYYIqZ7nWOLCraeVblmfQF8Kk9UgH6X2qIQ7szCAoe4swDyXeVBaTnEanfPNIMPzbsNMCaOj0udw4ZfXa1Xxt472ynoTRcTSZpIcSu+zN1cBOPoxlnv32zk/DlmFahh2uhkmgrLSnn5VxPd7Z3MaBXcouGbKLuyjqj/zqQSerj3Fg9Flr0KyguxKP1iNxYGmfSXaHODA2nf8uvdNEevmwTgzqhOj/eMgoMAl90IwLT96S55OmeRRak5Hnv93H0zCqGBrRBAZL86mp6x8RlNl4xYGt5JtYq+o18DnUvVJroybD3X4UkWCZmg6CT7ZjNk6DsjBv+Bkc7J8m5UEY/u0jA1MW1+ECAoE85VBKMI0u48DWzN5BRjGXAqIIaiSdJNe0/8Zvj8IIQrdrYonwaR5SU93Ql4hlzXyLA0MBLyFIL/dY5iFl09UXqKFeujgwFAfeyI3IKLtWtbF0Wyzyz2jiWdjP5KfY4clFwxBNuhSQbYe7bhzyKOy0VLpzdVg9JEa/jIGUwViG29T9YdjVLOdaxqLp1qSwQKEW/o6FH4URakkDvflOA4L20QFBleXlye9W6knY5nKqazga01lDcs0wscerjiB9iAPT6eoozybzr6mLzlBI+1bHHDeD8SystmJXp2zZ0VxnRj1XjUxoIJ9Egplm+wlecadTTqX7U4oimG7eCvBZGGxcaypLZbH75Fsr6f+PAhZxYNg2pAHnlut0VQ4ZTfTRCo3B50iw01jM1XpkqfJtQhSwqSbLcTtfeBimxvkqZ5gqHDrduLYGkcrvxPUsTNMzChlfCm3Sqh9m6Vrj4mSVPQ7sMjY/I0r1sJAV7y+bypuyjQPTMxjy/OgCYBJMDySIu6CyPwejT8L0DIYGlfJOUAelzZu3pdeB0S3Jn4XpyQRZNSWAjjgXHUHijaVHt6dNnoY1ARWw14i+w13q74Yfq+PlKx4s815HcvgZdn/WUZGSbW7qxSPBXOtZ7XgHnfDqOMO8GzVUlB7FgRH86wGeahv1nAmU1V5+tdN1mxI8Cvs+FfaFfWFfWGTYP5ybuiDU/JA2AAAAAElFTkSuQmCC",
  "TESTCTX" : {
    "VERSION" : 1,
    "SCHEMA" : "1.0.0",
    "CERTIFICATE" : "MIIEHjCCAgagAwIBAgIUM5lJeGCHoRF1raR6cbZqDV4vPA8wDQYJKoZIhvcNAQELBQAwTjELMAkGA1UEBhMCSVQxHzAdBgNVBAoMFk1pbmlzdGVybyBkZWxsYSBTYWx1dGUxHjAcBgNVBAMMFUl0YWx5IERHQyBDU0NBIFRFU1QgMTAeFw0yMTA1MDcxNzAyMTZaFw0yMzA1MDgxNzAyMTZaME0xCzAJBgNVBAYTAklUMR8wHQYDVQQKDBZNaW5pc3Rlcm8gZGVsbGEgU2FsdXRlMR0wGwYDVQQDDBRJdGFseSBER0MgRFNDIFRFU1QgMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDSp7t86JxAmjZFobmmu0wkii53snRuwqVWe3/g/wVz9i306XA5iXpHkRPZVUkSZmYhutMDrheg6sfwMRdql3aajgb8wgbwwHwYDVR0jBBgwFoAUS2iy4oMAoxUY87nZRidUqYg9yyMwagYDVR0fBGMwYTBfoF2gW4ZZbGRhcDovL2NhZHMuZGdjLmdvdi5pdC9DTj1JdGFseSUyMERHQyUyMENTQ0ElMjBURVNUJTIwMSxPPU1pbmlzdGVybyUyMGRlbGxhJTIwU2FsdXRlLEM9SVQwHQYDVR0OBBYEFNSEwjzu61pAMqliNhS9vzGJFqFFMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAIF74yHgzCGdor5MaqYSvkS5aog5+7u52TGggiPl78QAmIpjPO5qcYpJZVf6AoL4MpveEI/iuCUVQxBzYqlLACjSbZEbtTBPSzuhfvsf9T3MUq5cu10lkHKbFgApUDjrMUnG9SMqmQU2Cv5S4t94ec2iLmokXmhYP/JojRXt1ZMZlsw/8/lRJ8vqPUorJ/fMvOLWDE/fDxNhh3uK5UHBhRXCT8MBep4cgt9cuT9O4w1JcejSr5nsEfeo8u9Pb/h6MnmxpBSq3JbnjONVK5ak7iwCkLr5PMk09ncqG+/8Kq+qTjNC76IetS9ST6bWzTZILX4BD1BL8bHsFGgIeeCO0GqalFZAsbapnaB+36HVUZVDYOoA+VraIWECNxXViikZdjQONaeWDVhCxZ/vBl1/KLAdX3OPxRwl/jHLnaSXeqr/zYf9a8UqFrpadT0tQff/q3yH5hJRJM0P6Yp5CPIEArJRW6ovDBbp3DVF2GyAI1lFA2Trs798NN6qf7SkuySz5HSzm53g6JsLY/HLzdwJPYLObD7U+x37n+DDi4Wa6vM5xdC7FZ5IyWXuT1oAa9yM4h6nW3UvC+wNUusW6adqqtdd4F1gHPjCf5lpW5Ye1bdLUmO7TGlePmbOkzEB08Mlc6atl/vkx/crfl4dq1LZivLgPBwDzE8arIk0f2vCx1+4=",
    "VALIDATIONCLOCK" : "2021-05-21T12:33:43.120+02:00",
    "DESCRIPTION" : "VALID: IT: Recovery"
  },
  "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
  }
}