Find Jobs
Hire Freelancers

Create C++ Linux Build Environment with Encryption and JNI

$30-250 USD

Cancelled
Posted over 13 years ago

$30-250 USD

Paid on delivery
We are looking for an experienced C++ developer to create the initial build environment and licensing for one of our products. We will take the source code and add functionality at a later point. The intention is the have a build environment that we can use on Linux and Windows. The library needs to use the Java JNI interface to deliver C++ functionality to the Java Environment. A basic JNI example included. Added to this is the support for licensing keys to validate each request based on a hardware profile. The bid winner be the person who has extensive experience configuring build environments for Windows and Linux using autoconf, automake etc. Experience with C++ Unit testing will also be needed. Code quality is very important to us, including tested code. We do not expect this is more than a handful of classes leveraging off open source encryption libraries. It should be a small piece of work for an experienced Linux/C++ developer. = Work Flow = This is the expected user workflow 1. Install binaries on Linux server 2. Run - - a. abd-create-request b. This creates a licence request file 3. Licence request file is send to administrator 4. Admin runs - - a. abd-create-licence <licence-file> 5. This returns a new licence file based on the server hardware 6. Licence file is copied to the server 7. JNI calls to the jni library will validate the licence files before returning a result What we are looking for: = Build Environment = • Build environment and scripts compatible with - - o Cygwin (Windows XP) or possibly MinGW - - o RedHat (5.5) - - o Including use of autoreconf configuration files: - - - - * [login to view URL] - - - - * [login to view URL] • Preferred done as an Eclipse CDT project but not necessary • JNI Support - - o Needs to build with Java Native Interface support for the following header file - - - - * See attached example - - o JDK Version 1.6.0 Update 23 = Licensing = • Licensing Functionality - - o Profile Hardware (only important in linux env – not windows) - - - - * MAC Address - - - - * CPU count - - - - * CPU type - - o Create a licence request file binary - - - - * Outputs a licence request file with encrypted hardware profile - - - - * Hardware details included from above - - - - * Encrypt the file with a shared key encryption - - o Create a licence creation binary - - - - * From the licence request create a licence file for the hardware - - - - * Decrypt the licence request - - - - * New licence key • Put hardware profile into new licence key • Should be encrypted with private/public key encryption - - o Validate the licence file for every JNI call - - - - * Decrypt the licence key - - - - * Validate hardware - - - - * Throw Exception if not valid = Testing = • Integration of Google Test Framework for unit testing - - o [login to view URL] - - o Licensing code should be unit testing for encryption classes - - o Unit tests should run on Windows and Linux - - o Tests should be run as part of the build process = Conventions = • Code should conform to following standards - - o Should be written in C++ - - o [login to view URL] - - o [login to view URL] = Provided = Java and C++ source projects for running JNI example – see attached. = Outputs = • Build env including the following files: - - o [login to view URL] - - o [login to view URL] • Once compiled a binaries - - o abd-create-request - - o abd-create-licence • Library for JNI calls • Should run unit tests provided = When Applying = • What external libs are proposed • Expected delivery timeframe • Any suggestions to change the specifications
Project ID: 889885

About the project

Remote project
Active 13 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of NEW ZEALAND
Auckland, New Zealand
5.0
2
Member since Mar 4, 2009

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.