所有软件外包项目 Gray arrow bg License key generator

License key generator 资金已经托管 线上项目,线下洽谈,智城安排

发包方 : Kenneth dent 接包方 : Shain 状态 :完成
项目编号 : 103841
项目预算 : $1,000-5,000
开发周期 : 7 天
发布日期 : 2010-07-11

描述


Overview
========

The license key generator is part of a licensing application. It takes a registration number as an input along with a public key and generates a license number which is then encrypted with the provided public key and signed with a private key. This is the license file. The key pair are openssl RSA keys.

Target system
=============

The application will have an easy to use GUI and will be coded in python. It will also have nogui option to allow it to be used from the command line and to be scripted. The application is meant to be cross platform. The encryption can either be done with openssl python library or using Python/C bindings and code from a provided companion application.

Registration number
===================

The registration number is provided in the form of an encrypted file. The application will decrypt the file using a private RSA key (no passphrase), and the resulting ascii string will be as follows:

Nr ethernet interfaces:MAC0:...:MACn:Nr CPUS:CPU0 family,model:CPUn family,modelNr PCI devices::PCI0 device id:PCIn device id

License number generator
========================

The application will add to this string the number of licensed channels and the number of days the license is valid for:

Nr ethernet interfaces:MAC0:...:MACn:Nr CPUS:CPU0 family,model:CPUn family,modelNr PCI devices::PCI0 device id:PCIn device id:Nr channels:Nr validity days

This string will then be encrypted with the application's public key. Once signed this becomes the license file.

The encryption will happen using some provided C code from a companion application. It is important that the license file can be decrypted by this companion application.

Optionally, the application needs to have a way to manage key pairs, generation, addition, deletion, revocation (through the generation of a key generation certificate), export and selection of the default key pair. The only key pairs supported are openssl style RSA style. The companion C application uses openssl as encryption library, so either a compatible library or Python/C bindings need to be used. This optional element can be quoted separately.

An example usage follows:

Usage : ldlicensor [-n] [-r reg_number] [-k public_key] [-g key_name] [-R key_name] [-e key_name] [-o output_path] [-v] [-h]
Generates an encryped system fingerprint.

-n Run without the GUI and parse command line options
-r Registration number file.
-k Absolute path to the provided public key.
-g Generate a new key pair with the provided name.
-R Revoke the specified key.
-e Export the specified key.
-d Delete the specified key.
-o Optional absolute output path.
-v enable verbose mode.
-h This help

Deleted keys are deleted from the application but are not deleted from the backend database so that they can be retrieved is needed. Features not implemented will need to be stubbed out.

All operation on keys require a passphrase. The revocation certificate is created when the key pair is created and the revocation of a key is the only operation that is allowed without a passphrase.

The backend database must be open source, MySQL, SQLite or similar. Probably a lightweight database is better suited for this than MySQL.

Deliverables
============

1.The tested source code in python.
2.The mysqldump equivalent of the database structure.
3.A short design document including information regarding the design decisions made and the test process undertaken. It will include a database schema including relationships.

Limitations
===========

Installation on Linux is compulsory, and Windows installion needs to be considered and quoted separately. As part of the installation the chosen database will be installed (if not in the system already) and the database created.
Python libraries and the choice of database needs to be agreed in terms of documentation, stability and maintenance.
It is desirable that the source code is well documented and formatted with a code formatter.

Terms
=====

The application will be developed prioritizing design, simplicity, cleanness and quality.
The development will take place on http://lindusembedded.codebasehq.com/.
On delivery, Lindus Embedded will test the application reviewing it against this specification. Deviations from the specification will be corrected at no extra charge.
The quoted price will be effective on project acceptance.

项目竞标

接包方 国家/地区
拥有案例
3
Bcedoz
拥有案例
3
Jasonterhorst
拥有案例
2
Shain (中标)
拥有案例
2
Karta_mobile

竞标

请您先登录,然后提交此项目的竞标方案。
还不是智城用户? 智城期待您的加入,请注册成为我们的一员吧!
Project ad2