Skip to content

Commit

Permalink
Feature/certificate revocation (eu-digital-green-certificates#292)
Browse files Browse the repository at this point in the history
* - add revocation module; (eu-digital-green-certificates#249)

* - add revocation module;

* - update dependency;

* - setup base network logic with use cases; (eu-digital-green-certificates#250)

* DCC revocation local storage (eu-digital-green-certificates#253)

* - add interceptor with mock API service responses; (eu-digital-green-certificates#254)

* Fix parsing of issuer country (eu-digital-green-certificates#251)

Closes eu-digital-green-certificates#245

* - add interceptor with mock API service responses;

Co-authored-by: Anže Jenšterle <[email protected]>

* - add etag header; (eu-digital-green-certificates#255)

- move loading to worker;

* Implemented locate storage for dcc revocation entries (eu-digital-green-certificates#256)

* - generate 3 types of dcc hashes; (eu-digital-green-certificates#259)

* Feature/revocation local storage (eu-digital-green-certificates#258)

* - update network API responses and models; (eu-digital-green-certificates#257)

- add new usecase;

* Feature/revocation hash lookup (eu-digital-green-certificates#260)

* Feature/connect api with db (eu-digital-green-certificates#261)

* Connect API with DB. Update downloading flow;

- add logic for kid loading and storing into DB;
- add API mapper;
- fix base url;
- store last modified in pref.;

* Connect API with DB. Update downloading flow;

- package structure update;
- add new partition structure;
- db update;

* Connect API with DB. Update downloading flow;

- update API model according to new spec;
- update DB columns;
- refactor downloading logic;

* - fix tests;

* - todo item;
- fix test;

* Slices optimization (eu-digital-green-certificates#263)

* - add eTag to all api calls;
- add new API for slices;
- add base logic for 412 error handling;
- add logic for comparing remote chunks slices with local;

* - fix unit test;

* Slices part; (eu-digital-green-certificates#265)

* Slices part;

- save slices to DB;
- delete expired data from DB;

* - fix test;

* DB lookup; (eu-digital-green-certificates#266)

* DB lookup;

- add usecase for hash lookup, mode check and loading data from db;

* - fix tests;

* - add z value to db;
- add enum converter for db;
- update responses with test data;

* Feature/certificate revocation local layer filtering update (eu-digital-green-certificates#267)

* import bloom filter (eu-digital-green-certificates#268)

* - import bloom filter with unit tests;
- fix datetime format in DB;
- update KID to base64Url;

* - add bloom filter validation;

* - fix import;

* - fix tests;

* - fix tests;

* - ignore tests;

* Feature/certificate revocation load test (eu-digital-green-certificates#269)

* Feature/certificate revocation load test part 2 (eu-digital-green-certificates#271)

* - fix bloomfilter input stream read function; (eu-digital-green-certificates#270)

- remove chunk table;
- fix getSlices db fetch;
- remove unused methods;
- update slice content type to byteArray;
- delete slices when cid not much to remote partition chunks;
- fetch slices by kid,x,y instead of sid;

* Signature hash generation (eu-digital-green-certificates#273)

* - fix signature hash generation;

* - update bloom filter;

* - fix test;

* Feature/certificate revocation improvements (eu-digital-green-certificates#272)

* Api integration (eu-digital-green-certificates#276)

* - add revocation module; (eu-digital-green-certificates#249)

* - add revocation module;

* - update dependency;

* - setup base network logic with use cases; (eu-digital-green-certificates#250)

* DCC revocation local storage (eu-digital-green-certificates#253)

* - add interceptor with mock API service responses; (eu-digital-green-certificates#254)

* Fix parsing of issuer country (eu-digital-green-certificates#251)

Closes eu-digital-green-certificates#245

* - add interceptor with mock API service responses;

Co-authored-by: Anže Jenšterle <[email protected]>

* - add etag header; (eu-digital-green-certificates#255)

- move loading to worker;

* Implemented locate storage for dcc revocation entries (eu-digital-green-certificates#256)

* - generate 3 types of dcc hashes; (eu-digital-green-certificates#259)

* Feature/revocation local storage (eu-digital-green-certificates#258)

* - update network API responses and models; (eu-digital-green-certificates#257)

- add new usecase;

* Feature/revocation hash lookup (eu-digital-green-certificates#260)

* Feature/connect api with db (eu-digital-green-certificates#261)

* Connect API with DB. Update downloading flow;

- add logic for kid loading and storing into DB;
- add API mapper;
- fix base url;
- store last modified in pref.;

* Connect API with DB. Update downloading flow;

- package structure update;
- add new partition structure;
- db update;

* Connect API with DB. Update downloading flow;

- update API model according to new spec;
- update DB columns;
- refactor downloading logic;

* - fix tests;

* - todo item;
- fix test;

* Slices optimization (eu-digital-green-certificates#263)

* - add eTag to all api calls;
- add new API for slices;
- add base logic for 412 error handling;
- add logic for comparing remote chunks slices with local;

* - fix unit test;

* Slices part; (eu-digital-green-certificates#265)

* Slices part;

- save slices to DB;
- delete expired data from DB;

* - fix test;

* DB lookup; (eu-digital-green-certificates#266)

* DB lookup;

- add usecase for hash lookup, mode check and loading data from db;

* - fix tests;

* - add z value to db;
- add enum converter for db;
- update responses with test data;

* Feature/certificate revocation local layer filtering update (eu-digital-green-certificates#267)

* import bloom filter (eu-digital-green-certificates#268)

* - import bloom filter with unit tests;
- fix datetime format in DB;
- update KID to base64Url;

* - add bloom filter validation;

* - fix import;

* - fix tests;

* - fix tests;

* - ignore tests;

* Feature/certificate revocation load test (eu-digital-green-certificates#269)

* Feature/certificate revocation load test part 2 (eu-digital-green-certificates#271)

* - fix bloomfilter input stream read function; (eu-digital-green-certificates#270)

- remove chunk table;
- fix getSlices db fetch;
- remove unused methods;
- update slice content type to byteArray;
- delete slices when cid not much to remote partition chunks;
- fetch slices by kid,x,y instead of sid;

* Signature hash generation (eu-digital-green-certificates#273)

* - fix signature hash generation;

* - update bloom filter;

* - fix test;

* Feature/certificate revocation improvements (eu-digital-green-certificates#272)

* - fix base64Url encoding;
- tar.gz parsing functionality;
- add unit tests;
- minor property changes according to api;

* - remove dead code;

* - bloom filter update;

* - fix tests;

Co-authored-by: oleksandrsarapulovgl <[email protected]>
Co-authored-by: Anže Jenšterle <[email protected]>

* - load chunks from API and store to DB; (eu-digital-green-certificates#277)

- generate hash based on kid hash type;
- add unit test case for multiple slices gzip parsing;
- check revocation for test/recovery;

* - add retry logic for 412 error case;

* Support for hashlist type; (eu-digital-green-certificates#278)

* - add new hashlist slice db entity;
- handle hashlist type for slices and store into DB;
- add hashlist type validation during revocation check;
- use 128 bit hash for revocation validation;

* - optimize search by sid list;

* - fix unit test;

* - hashlist testing;

* - enum type update; (eu-digital-green-certificates#279)

* - add signature check working solution; (eu-digital-green-certificates#280)

* Fix UCI, CO+UCI hashtype validation (eu-digital-green-certificates#282)

* - fix uci, co+uci hash check during revocation validation;

* - check certificateRevoked when cose verified;

* Expiration date (eu-digital-green-certificates#284)

* - store expiration in milliseconds;
- check/delete expired data on app launch;

* - revert to micros;

* Partial-variable length revocation data encoding (eu-digital-green-certificates#287)

* Api optimization (eu-digital-green-certificates#286)

* - add new API to fetch chunks for partition;

* - add new API to fetch chunk slices by sids;

* - remove empty lines;

* Implemented partial variable length hashes fill up (eu-digital-green-certificates#290)

Co-authored-by: Mykhailo Nester <[email protected]>
Co-authored-by: Anže Jenšterle <[email protected]>
  • Loading branch information
3 people authored Mar 9, 2022
1 parent 70422c7 commit ec5b567
Show file tree
Hide file tree
Showing 84 changed files with 6,492 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/copyright/dgca_copyright.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ android {
dependencies {
implementation project(':decoder')
implementation project(':engine')
implementation project(':revocation')

implementation Deps.kotlin_stdlib
implementation Deps.androidx_core
Expand Down Expand Up @@ -135,8 +136,8 @@ dependencies {
implementation Deps.google_licenses

testImplementation Deps.test_junit
// testImplementation Deps.mockito_core
// testImplementation Deps.mockito_kotlin
testImplementation Deps.mockito_core
testImplementation Deps.mockito_kotlin
coreLibraryDesugaring Deps.android_tools_desugar_jdk_libs

androidTestImplementation Deps.test_runner
Expand Down
Loading

0 comments on commit ec5b567

Please sign in to comment.