Develop a dynamically linked android library to process data passed as a JSON structure and return results of processing as a JSON structure. This library will be included in a larger Android offering and represents a core service of the larger project.
Key skills required - Bit/Byte level data manipulation, GZip decompress, MsgPack decompress, OpenPGP signature verification.
Scope and Deliverables
• Developer should recommend implementation source language.
• Developer should suggest appropriate dependency libraries.
• Developer should suggest/define library API call format.
◦ API should be simple but flexible/extensible for future enhancement to the library.
• Developer must produce a fully documented standalone (statically linked dependencies) dynamic library.
• Developer must produce an additional functional example program which shows correct library usage in a test case scenario.
• Developer must deliver a prebuilt library binary (arch to be decided, but 32 bit ARM likely) and all source code, including source code for build dependencies.
• Developer must release all applicable copyright assigns, full source code and complete working/functional build chain on completion of this commission.
• Developer is required to use Libre/Open/Free dependencies (GPL/LGPL/MIT or more permissive)
This standalone library accepts JSON wrapped input and returns JSON wrapped output. The first (and currently only) call method will include an atomic JSON structure that describes the raw data to be processed and an additional JSON key:value that describes an OpenPGP public key.
For the initial development, we expect that the entire OpenPGP public key will be passed, however care should be taken to ensure that future versions of the library/API allow for full internal PKI key management, including an internal database of public keys, setting an active public key, public key refresh, key retrieval from a key server, key revocation, etc.
The raw data within the JSON wrapped input should be processed in accordance with the included spec and should result in a valid JSON structure that can be used for further OpenPGP signature verification by the library. Invalid JSON or missing JSON elements constitutes an exception.
Once the JSON validation and OpenPGP validation steps and performed, the result should be returned to the calling application and will include the decoded JSON structure that was recovered from the raw data and the result of the OpenPGP validation.
This library will be infrequently called and development emphasis should be placed on code correctness, clarity,reliability and API expandability/extensibility.
The proposed first call method (decode/recovery of JSON structure from raw data and OpenPGP validation of that structure) is considered a “user interactive process”, with a user waiting for visual results via the calling application. Function-call to function-return of 200ms (or less) is considered acceptable for this interactive processes.
Bu iş için 23 freelancer ortalamada $1487 teklif veriyor
Hi, I come across your post. I'm expert native developer in C/C++, I can help you build this dynamic library. Let's continue this conversation in private messages.