Reputation: 109
I am working on migration of an old project to Java, and I am having some issues regarding smart card access. Due to lack of documentation I am forced to find my own way through this one, so I hoped you people can help me.
I have a smart card and a dll library (middleware) that was used to gain access to cards functions. Using dependency walker I managed to get a list of functions that dll library holds, and that list sums up to Microsoft Smart Card Api functions. I was wondering if there is some native wrapper that enables me to call that functions from Java?
Regarding the nature of smart card, it should contain cryptography functions (PKCS#11), but I wasn't able to instantiate a sun.security.pkcs11.SunPKCS11 provider because of this error:
Caused by: java.io.IOException: The specified procedure could not be found.
at sun.security.pkcs11.wrapper.PKCS11.connect(Native Method)
Any guideline will be appreciated.
Thanks in advance
UPDATE:
For anyone having this problem as well, it turns out that my smart card doesn't support PKCS11 and I don't have appropriate PKCS11 dll.
Upvotes: 5
Views: 1570
Reputation: 36
Well, I recently worked in a project which used to have Smart Card access for PKI Certificates and there we had the help from these two frameworks:
The Legion of BouncyCastle Java API (for PKI method abstractions) http://www.bouncycastle.org/java.html
IAIK JCE PKCS11 Wrapper (for generic .dll smart card access) http://jce.iaik.tugraz.at/sic/Products/Core-Crypto-Toolkits/PKCS_11_Wrapper
I think that the second option shall be something that might help you too.
Upvotes: 0