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",
    "t" : [ {
      "tg" : "840539006",
      "tt" : "LP6464-4",
      "nm" : "Roche LightCycler qPCR",
      "ma" : "",
      "sc" : "2021-05-10T10:27:15Z",
      "dr" : "2021-05-11T12:27:15Z",
      "tr" : "260415000",
      "tc" : "Policlinico Umberto I",
      "co" : "IT",
      "is" : "IT",
      "ci" : "01IT0BFC9866D3854EAC82C21654B6F6DE32#1"
    } ]
  },
  "CBOR" : "a4617481ab62736374323032312d30352d31305431303a32373a31355a626d616062647274323032312d30352d31315431323a32373a31355a627474684c50363436342d34626e6d76526f636865204c696768744379636c6572207150435262636f62495462746375506f6c69636c696e69636f20556d626572746f2049626369782630314954304246433938363644333835344541433832433231363534423646364445333223316269736249546274676938343035333930303662747269323630343135303030636e616da463666e746944493c43415052494f62666e6944692043617072696f63676e746d4d4152494c553c54455245534162676e6e4d6172696cc3b9205465726573616376657265312e302e3063646f626a313937372d30362d3136",
  "COSE" : "d2844da2044839301768cdda05130126a059013ca4041a6194e899061a60a78c8901624954390103a101a4617481ab62736374323032312d30352d31305431303a32373a31355a626d616062647274323032312d30352d31315431323a32373a31355a627474684c50363436342d34626e6d76526f636865204c696768744379636c6572207150435262636f62495462746375506f6c69636c696e69636f20556d626572746f2049626369782630314954304246433938363644333835344541433832433231363534423646364445333223316269736249546274676938343035333930303662747269323630343135303030636e616da463666e746944493c43415052494f62666e6944692043617072696f63676e746d4d4152494c553c54455245534162676e6e4d6172696cc3b9205465726573616376657265312e302e3063646f626a313937372d30362d313658400858da3ff8971533d63c8d63cb44e07fe967c4c078f0a0892c4ddbda2b866cbd4eaceb28347f356a97434a956d0c1addb0b85f8f4be3ec50734fc1257b4ee0de",
  "COMPRESSED" : "789cbbd4e2bb88c5c3d2403ce3ec2d566146b505918c364b58a412a7bc98c92695b0bca79331c933c492917921e392c492c6d549c5c92546064686ba06a6ba86062186065646e65686a65149b989094929450839c3104323985c4949864f8099899989ae49525e6e59507e7246aa824f667a46897365724e6a91426180735052723ed0a6a492e4d280fc9ccce49cccbccce47c85d0dca4d4a2927c05cfa4e4cc0a350343cf10032737674b0b333317630b53135747670b23672343335313273337331757632365c3a4cc62b049e999162606a6c696060666492545994666062686a6060606c97989b94b92d3f24a325d3c6d9c1d03823cfd93d2f2325d32159c130b8a32f393d3f34a727d1d833c7d426d425c835c831d93d2f3f27c138b32730eef5408492d4a2d4e4c2e0352867a067a06c929f949598696e6e6ba0666ba8666110e1c11b7ec7f4c1735be66d39b7cdae541fdcbf423072a3e2ce8d4f1bd7d4bbb2d67afdf9ad71a26f5a659d39dbda6e6f248ddddb023bedffbf19b8062ff83aad57e0fee010099208bb0",
  "BASE45" : "6BFOXN%TS3DH0YOJ58S S-W5HDC *M0II*%6C9B5G2+$NEJPP-IA%NGRIRJPC%OQHIZC4.OI:OIG/Q80P2W4VZ0K1H$$05QN*Y0K.G +AG5T01HJCAMKN$71Z95Z11VTO.L8YBJ-B93:GQBGZHHBIH5C99.B4DBF:F0.8ELG:.CC-8LQECKEBLDSH8XAG.6A-JE:GQA KX-SZDG0$JO+SW*PR+PHXF8IQV$K%OKOUFBBQR-S3D1PI0/7Q.H0807-L9CL62/2JJ11K2919GI1X1DDM8RMA0/41:6Z.2:NC-%CN$KJLCLF9+FJE 4Y3LL/II 05B9.Z8M+8:Y001HCY0R%0IGF5JNCPIGSUNG6YS75XJ/J0/V7.UI$RU8ZB.W2FI28LHUZUYZQNI9Y FQQGQ$FP DDVBDVBBX33UQLTU8L20H6/*12SADB9:G9J+9Y 5LJA8JF8JFHJP7NVDEBK3JQ7TI 05QNT+CCZ1ZA2I+T*R9XZ6/:COTJCURIF8CZPCJ4EF5LU5I-Q:.N$P9DX5NAM*PJYD3L2V0GBG.JL4LESU72S1CM%5OC%VSTJ8NC1TGO:QS02V505GJUTH",
  "PREFIX" : "HC1:6BFOXN%TS3DH0YOJ58S S-W5HDC *M0II*%6C9B5G2+$NEJPP-IA%NGRIRJPC%OQHIZC4.OI:OIG/Q80P2W4VZ0K1H$$05QN*Y0K.G +AG5T01HJCAMKN$71Z95Z11VTO.L8YBJ-B93:GQBGZHHBIH5C99.B4DBF:F0.8ELG:.CC-8LQECKEBLDSH8XAG.6A-JE:GQA KX-SZDG0$JO+SW*PR+PHXF8IQV$K%OKOUFBBQR-S3D1PI0/7Q.H0807-L9CL62/2JJ11K2919GI1X1DDM8RMA0/41:6Z.2:NC-%CN$KJLCLF9+FJE 4Y3LL/II 05B9.Z8M+8:Y001HCY0R%0IGF5JNCPIGSUNG6YS75XJ/J0/V7.UI$RU8ZB.W2FI28LHUZUYZQNI9Y FQQGQ$FP DDVBDVBBX33UQLTU8L20H6/*12SADB9:G9J+9Y 5LJA8JF8JFHJP7NVDEBK3JQ7TI 05QNT+CCZ1ZA2I+T*R9XZ6/:COTJCURIF8CZPCJ4EF5LU5I-Q:.N$P9DX5NAM*PJYD3L2V0GBG.JL4LESU72S1CM%5OC%VSTJ8NC1TGO:QS02V505GJUTH",
  "2DCODE" : "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",
  "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:45.419+02:00",
    "DESCRIPTION" : "VALID: IT: MOLECULAR Test"
  },
  "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
  }
}