We are working on a new secured project. We wish to enable both server side and client side authentication. To allow client authentication, we would like to create cards that can be placed into "card reader" and unlocked using a fingerprint.
Now, currently we have a few card readers of company A and in order for our client side (java - not a browser but a small software of our own) to use the certificate on that card, the java program uses a native call to a dll that allows us to conenct to it.
I am looking for a way to make this connection to the card reader generic, In case we change card readers to company B.
My questions are:
Are there better ways to access the card reader for the certificate? For example, using pure java code (or pure JDK code) and still somehow retreiving the certificate and all other operations needed.
Given there is no pure java way of doing this, is there a generic way that will help me not to be dependant on a specific .dll?
How secured do you think this is? Perhaps, there is an equal secured way of doing client authntication without card readers?