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" : "Apellido Apellido",
      "fnt" : "APELLIDO<APELLIDO",
      "gn" : "Nombre",
      "gnt" : "NOMBRE"
    },
    "dob" : "2014-08-16",
    "r" : [ {
      "tg" : "840539006",
      "fr" : "2020-08-16",
      "co" : "ES",
      "is" : "10",
      "df" : "2016-08-16",
      "du" : "2020-08-16",
      "ci" : "01ES10REC193B8823BA97F084DD0#2"
    } ]
  },
  "CBOR" : "BF6376657265312E302E30636E616DBF62666E714170656C6C69646F204170656C6C69646F63666E74714150454C4C49444F3C4150454C4C49444F62676E664E6F6D62726563676E74664E4F4D425245FF63646F626A323031342D30382D3136617281BF627467693834303533393030366266726A323032302D30382D313662636F6245536269736231306264666A323031362D30382D31366264756A323032302D30382D3136626369781E303145533130524543313933423838323342413937463038344444302332FFFF",
  "COSE" : "D2844EA20138240448C927CE52404C90E9A058E3A401625553041A612DF80706FB41D828A01F3DA1CB390103A101A4617281A7626369781E30314553313052454331393342383832334241393746303834444430233262636F6245536264666A323031362D30382D31366264756A323032302D30382D31366266726A323032302D30382D31366269736231306274676938343035333930303663646F626A323031342D30382D3136636E616DA462666E714170656C6C69646F204170656C6C69646F62676E664E6F6D62726563666E74714150454C4C49444F3C4150454C4C49444F63676E74664E4F4D4252456376657265312E302E30590100A5C83B94F293C30DC159F43D7F66EB7A17A7EEA6B2E07EBEC56876ECA825F80BB1C2BE9397D9634C9757731E54EF8F9CE9EDE2852FE3399F92BBCFE04764007C7FEEB67670F9CF1ED1C1A0B2C66AFD47B23EA2E84ED68A1F66F565E0A87790BEBE228C9BC538FABD78E3440C843A8945D00DD4B758E92C586962BE8C078A567B57B76D97B27FD6FDB1E1692E1954262E048E956B4095F8814B70E8775B0AEA85F465C9FE930740228A24B3FDCFD0D48EBE14DA2AB5CFBB3CC452097004F26C85250158F5CBF7FC1CBBD1229C1A9C5C4AE49232CB5E060572A4D658EE69D084BA15C49D4BECF3A3B0C3CB363414C1D95F61D5FB6D695D5371AFA1A85016F6429C",
  "BASE45" : "NCFOXNYTSFDHJI8Y0PO%K7ING/0B71G.2JS71ROGO2D PH-I$ZVJ/J5BN4W1$X0S0NK1APF6R:5SVBFAB4DNN95ZTM86QLEQJIRM64P1R/HQCIR/ROQHP5NPPTQM0Q0SO40P-88L35UA7TJPM47MV4DYP+GO6W9XDOXCRAQ55*K-DPDH6HVUCNHYGFF.OK.G5B9-NT0 2$$0X4PCY0X:CZD50B94/RM127LPMIH-O92UQOC1IJ1YQEDG68RUB9CI%KUZN8CO9+REQK3-SY$N+J8.102.3.:943GE23SA7G6M$0QIDSVC5SZ6FT5D75W9AV88D542HIWKT WTH5KL14PW7-PVY1N*0U7/IGTU2VPYZ7NXRKT66.TSG1B14.I3W1U/V7A:C1DQNHUTKNZFVEQEU3O$*QLFW8OE+$K$9TLFNZ76D+QZWRQ:AQ U.+RMPG%$6IZP5 T-KPAJQ/8OK*BKED*MAHYLK8K05E4LA9-TI*2H6V/S7FMS6MM5YE0FOE$CV O8-J8*PL$FT*TPGC*OS.REB5E2CO17F1VOM 7922GZ7T4O JR0PAOS6103X5576TD2R.Z4E-SWNPD 10ZBKWJ43K$AE05EZDP1/LZBTMVRAB1KR5$OV6YQVOPLQUQ/UN:7*TNMI5EII6N201VAPIYLT/-6JMK*8R85S3.BEKRCLFG5MHVJ:QHUP3G$D/F4RHUKZFV1R%KNALM%-GW:2*011%V:P6L00FZ4W2",
  "PREFIX" : "HC1:NCFOXNYTSFDHJI8Y0PO%K7ING/0B71G.2JS71ROGO2D PH-I$ZVJ/J5BN4W1$X0S0NK1APF6R:5SVBFAB4DNN95ZTM86QLEQJIRM64P1R/HQCIR/ROQHP5NPPTQM0Q0SO40P-88L35UA7TJPM47MV4DYP+GO6W9XDOXCRAQ55*K-DPDH6HVUCNHYGFF.OK.G5B9-NT0 2$$0X4PCY0X:CZD50B94/RM127LPMIH-O92UQOC1IJ1YQEDG68RUB9CI%KUZN8CO9+REQK3-SY$N+J8.102.3.:943GE23SA7G6M$0QIDSVC5SZ6FT5D75W9AV88D542HIWKT WTH5KL14PW7-PVY1N*0U7/IGTU2VPYZ7NXRKT66.TSG1B14.I3W1U/V7A:C1DQNHUTKNZFVEQEU3O$*QLFW8OE+$K$9TLFNZ76D+QZWRQ:AQ U.+RMPG%$6IZP5 T-KPAJQ/8OK*BKED*MAHYLK8K05E4LA9-TI*2H6V/S7FMS6MM5YE0FOE$CV O8-J8*PL$FT*TPGC*OS.REB5E2CO17F1VOM 7922GZ7T4O JR0PAOS6103X5576TD2R.Z4E-SWNPD 10ZBKWJ43K$AE05EZDP1/LZBTMVRAB1KR5$OV6YQVOPLQUQ/UN:7*TNMI5EII6N201VAPIYLT/-6JMK*8R85S3.BEKRCLFG5MHVJ:QHUP3G$D/F4RHUKZFV1R%KNALM%-GW:2*011%V:P6L00FZ4W2",
  "2DCODE" : "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",
  "TESTCTX" : {
    "VERSION" : 1,
    "SCHEMA" : "1.0.0",
    "CERTIFICATE" : "MIIDsDCCApigAwIBAgIUGCp9lLrYVsmQi02U1oG9TATlp1swDQYJKoZIhvcNAQELBQAwTjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExEjAQBgNVBAcMCVRoZSBDbG91ZDEWMBQGA1UECgwNTXkgQ29tcGFueSBDQTAeFw0yMTA1MDMwOTM2MDdaFw0yMTA4MzEwOTM2MDdaMF4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRIwEAYDVQQHDAlUaGUgQ2xvdWQxDTALBgNVBAoMBERlbW8xFzAVBgNVBAMMDk15IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvP+oHwXGxlWQevkm4akGYAIJwasFOrFQG+rmMVnNMdr5jm7MUD6KFAm8pJVUgCGngM+b5oJAcFK2uqBUqPWUYeAXAIzuCf/NrQS7xUOlzQkgYBt3pwnKYgaV0LcU4h5esHPxo7oUJD/+IwO9Rxq9nLhT9tt8xQmO9eph5mSZxil81SMPQHKFUs25/z/dDfGH9f9ta4jyBkkdziMkzR7oKU3W0lf186tfG+6vk94mPPFGTBCg8nQU6vagr5wlCe+QcrI/EQx9gRZnCrcIWONkwP2msmiJ+mUxxtkKn9Y9GyES6yon3Btsb0ZjrwZ5TKruELyAmRzCDtu+GpZt8VifzwIDAQABo3YwdDAJBgNVHRMEAjAAMB0GA1UdDgQWBBSFeN36gbtOvTMfud5DMYAxdfJ4AjALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBwGA1UdEQQVMBOHBAECAwSCC215LmRucy5uYW1lMA0GCSqGSIb3DQEBCwUAA4IBAQAFRbW3XMsNKHZR+mD22jAU3YzQsxtLUo7RYDzgjGuNDh1O+hNT8u0nRBArYMk/owJkPeequL6qkaIZkMe02O6TZYKf++PlAOXfmF9t7McbB/FHivzSpx1tYfwG1ml3m5l7sVfB07XZXr0NJQbdPEz8fPpORGhp6CtEBhsIur+zqX876Dszejs9U3rhROoJkASHCNQatzBefSBe2va2yT2INlTKu6ArWTQDPD3scigWd46WreczDNfbYUUZETL3cuyD4vs1xfo/DWyaULksXiJXTPv4lH3HfxSeX1SgHrt3As+WFEjdzCD9TC8UA3jPwBqzw1xN+U+OVi+Zb8itC7eR",
    "VALIDATIONCLOCK" : "2021-05-17T16:41:00.984Z",
    "DESCRIPTION" : "Prueba de generación de certificado de vacunación del Salud Conselleria de Sanitat - Generalitat Valenciana"
  },
  "EXPECTEDRESULTS" : {
    "EXPECTEDRESULTS" : true,
    "EXPECTEDDECODE" : true,
    "EXPECTEDVERIFY" : true,
    "EXPECTEDUNPREFIX" : true,
    "EXPECTEDVALIDJSON" : true,
    "EXPECTEDB45DECODE" : true
  }
}