Find Jobs
Hire Freelancers

Browser plug-in for smart card communication

$500-600 USD

Cancelled
Posted about 12 years ago

$500-600 USD

Paid on delivery
Multiplatform, multibrowser plug-in for smart card communication that exposes the PC/SC smart card API defined by [login to view URL] and implemented in Windows in the smart card API (search MSDN for 'SCardEstablishContext') and in Linux by the muscle group http://www.linuxnet.com. The plug-in can be developed using the FireBreath [login to view URL] framework that makes developing NSAPI and ActiveX plugins easier. ## Deliverables The component must be instantiated using non obtrusive javascript from an external .js file that is included in the test page and invoked on the .onload method with jQuery. The component exposes one property 'Readers' and two events 'cardInsert(Reader)' and 'cardRemove(Reader)'. Readers is an enumerable collection of 'Reader' objects. Each Reader object has the following properties and methods: prop string Name, the name of the reader from SCardListReaders prop long Status, the state from the dwCurrentState value in the SCARD_READERSTATE parameter of SCardGetStatusChange. method Connect, calls SCardConnect on the card in that reader method Disconnect, calls SCardDisconnect on the card. method string Transmit(string APDU) sends the data to the card using SCardTransmit transforming the input to a byte array and the response from byte array to a string to give it back to JavaScript. method Lock, calls SCardBeginTransaction method Unlock, calls SCardEndTransaction. The two events are raised in the plug-in main thread (since JavaScript uses only one thread) but come from a worker thread inside the plug-in that uses the SCardGetStatusChange function to monitor for changes in the readers in the system. It reports when a smart card reader is inserted or removed (change of state from SCARD_PRESENT to SCARD_EMPTY) and the flags in the current state to allow the application determine if the card is in use or not. If there are changes with the card present, additional cardInsert events are raised with the new status flags. In addition to the component, there should be a Windows installer package (FireBreath creates one with WIX automatically) to install the plug-in. We require also a test page that detects if the component is present in the system or not, and shows a message to install it from the Windows Installer Package. The test page lists the readers in the system in a table and allows to connect and disconnect to them and shows if there are cards inserted or not responding to the events. In this first phase of the project, is enough if the component works in Windows browsers, IE 9, Firefox and Chrome and has some basic unit tests. Once this first phase is completed, we want to invite for new projects to support Firefox in Linux and Safari on MacOS X, that requires scardlite for those platforms but that would be additional paid work that we'll be happy to discuss later. We would also be interested in comprehensive testing and a client javascript plugin for jQuery to make the component easy to use, those are also additional projects that we want to propose.
Project ID: 2722835

About the project

Remote project
Active 12 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 UNITED STATES
United States
5.0
7
Member since Feb 20, 2011

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) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
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.