Modify Existing Mac OS KeePassX Application to Integrate with Wireless Card

Cancelado Publicado hace 7 años Pagado a la entrega
Cancelado Pagado a la entrega

Details

Introduction

Looking for an experienced C++ developer to modify an existing open source application called KeePassX for Mac OSX. [login to view URL] The application will have to be modified to support communication to our CyberGate card over Bluetooth classic.

KeePassX creates an in-memory database file that will be sent and stored on the card anytime it’s created, updated, or modified in any way.

General

*** Please specify cost and estimated duration in your proposal.

CyberGate Card

The CyberGate card is a credit card-size computer that has a CPU, flash memory, Bluetooth, and a battery encapsulated in plastic.

Storage Provider

We want to use “Storage Provider” feature for remote storage of the KeePass database file. The plug-in must keep the database file in memory and store on the card when changes are made. No local copy of the file is persisted to the file system of the Android device. For security reasons, we do not want a local copy of the database file stored locally on the file system.

Bluetooth Classic

This project requires an understanding of Bluetooth communication and the sending and receiving of low-level communication using data packets. We are using SPP (Serial Port Profile) to send and receive data. We have exposed an API on the card to allow the sending and receiving of data. This is called the CyberGate FTPx API.

CyberGate FTPx API

This will be using a custom protocol that is very close to FTP commands over Bluetooth. We call it FTPx, since we have some product specific header information. The primary FTP commands we will use is STOR, RETR, LIST, DELE.

STOR: This method is used to store files on the card.

RETR: This method is used to download files from the card.

LIST: This is used to list the contents of a folder

DELE: This is used to delete a file

The CyberGate API full documentation:

[login to view URL]

Protocol Packet Format

The string command packet that is sent to the card over Bluetooth is in the following format.

HEADER

First byte command channel 01 or 02. Next two byte total length including header and suffix. Called Least Significant bit and Most Significant bit.

SUFFIX

(End of String): First byte carriage return. Second byte line feed. Third and fourth byte checksum. Which is currently not used.

0D 0A 00 00

Example

This is an example of sending a LIST command to the card. Notice the packet structure includes a header and suffix.

________Command or data channel

|

| ____Total length including header

| | and suffix string ( "00 1E" == 30 characters)

| |

-- |____

01 00 1E

LIST /apps/vault/data/*

01 00 1E 4C 49 53 54 20 2F 61 70 70 73 2F 76 61 75 6C 74 2F 64 61 74 61 2F 2A 0D 0A 00 00

...150 Opening connection

....Jdrw-rw-rw- 1 root root 0 Jan 00 1980 SomeFile

.....226 Transfer Complete

Development Tools

We will provide a CyberGate card and charging cable for development purposes.

Git and GitHub will be used for source control. Some example source code and access to our technical support team will be available to answer questions.

Programación en C++ SO Mac

Nº del proyecto: #12953028

Sobre el proyecto

7 propuestas Proyecto remoto Activo hace 7 años