Last post Apr 23, 2013 01:30 AM by emayevski
Apr 22, 2013 12:11 PM|dfin13|LINK
I don't even know if the title accurately describes my issue -- I've been banging my head on my desk for a few days even trying to form a proper Google query to find a solution, but here goes.
I've been tasked with writing a site to interface with a machine at our bank that creates credit/debit/prepaid/etc cards on the spot. Everything works great, but last week they threw a PIN pad into the mix, and this is where it's all falling apart on me.
The pin pad connects via USB to the teller's machines in the branches. The vendor has provided us with a DLL that, when called, will activate the pin pad and allow a customer to input a PIN via the pad, and it returns an encrypted version of the PIN. A little
window pops up near the notification area in Windows, prompting the user to enter a pin. This works great if you're using a client-based app, as this executes locally. But it obviously cannot run on a web-based app.
My question is ... can it run via web-based app? I have zero experience in making this kind of thing work, but is there a way to download this DLL to the client at the time of PIN entry, and have it fire off as it would in a client-based app, and
then pass that PIN back to the web app?
I'm sorry if I haven't described this very well -- again, I have no experience in this sort of thing and I may be asking the impossible.
The vendor DLL is typically added to a project, and then you call, for example, "EnterPIN" and the pin entry bit appears as I described above. For example:
Dim sPin As String = String.Empty
CardWizard.ServerInterfaceControl.PINPAD.EnterPIN(iPPCerror, sPin, 60, 4, 4, False, "Enter new PIN")
Apr 23, 2013 01:30 AM|emayevski|LINK
If the client has the hardware, he should install the software (the DLL) to the client system as well, that's for sure. Now what you need to do is create an ActiveX or Java applet (or both) that will be downloaded to the client via the web page you serve.
That web page will pass some data to the applet, the applet will call the DLL and then return encrypted data to the web page, from where it can be submitted back using AJAX (as a variant).
I should say that this task is pretty complicated, although possible. Our company solved a similar task when creating distributed cryptography add-on for our SecureBlackbox product.
Neither the ActiveX nor Java applet can be created using VB.NET. You would need to use C++ or Delphi for ActiveX and Java (or Pascal btw) for Java applet.