Cryptosolic is an Open Source Cryptography & Software Licensing Framework for .Net.
The main focus of the Cryptosolic project is to provide a solution to facilitate the sale and licensing of individual features or CALs (Client Access Licenses) within a software package, and provide functionality to restrict the use of elements of the software, or the software in its entirety, without permission from the product owner.
Although not the main focus, hashing and encryption algorithms are the back bone of the license enforcement functionality, and as such, I have decided to separate my implementations of these algorithms into an additional library that can be used to protect information independently of any licensing enforcement features.
Please check out my blog for intermediate development and project announcements: http://www.laidbackcoder.co.uk
More Information and Downloads available soon.
16/06/2013 - Initial Hashing Functionality now in Source Code RepositoryRelease Information Coming Soon.
The current roadmap for this project is as follows:Phase 1
Get the basic Hashing functionality up and running, complete with unit tests.
- Get the basic Symmetric Encryption functionality up and running, complete with unit tests.
- Create Documentation on using the Security Framework.
- Get the basic Licensing framework up and running, complete with unit tests.
- Create Documentation on using the Licensing Framework.
- Inclusion of some Asymmetric Encryption Algorithms in the Security Framework.
- Development of a companion licence management application that will allow vendors / developers to generate licences, as well as track all issued licences in a database. This will allow for licences to be easily re-issued or added to.
- Development of a central license service to be deployed with a licensed software package, to track and enforce concurrent application-wide licenses. This will allow for an application to implement a concurrent licencing model, i.e. the software can be installed on as many machines as required, but is limited by the number of people using it at any given time.
- Development of Sample Applications that use the licensing and cryptography features of this project.