On 11/24/2011 4:02 AM, Anders Rundgren wrote: > Hi Ludovic, > > You are a true smart card middleware expert. > I'm not and my customers are even less of that. > They just want to plug in and go. > > As it appears the smart card community/industry have created > uniquely complex middleware for reasons unclear to me.
I never could understand it, either. > It is > proven beyond doubt that the platform vendors can't keep up > with it either [2]. Do they even bother testing this stuff? > > I understand that there are "layers" but if not even "layer-0" > works right-out-of-the-box the value of java-based software is > greatly reduced. "Write once run everywhere" actually works > for sophisticated applications like EJBCA http://ejbca.org > without low-level platform tweaks. > Since it sounds like your problem is more they trying to get the javax.smartcardio.* to run, but more of access to smartcards from java, Have you read: http://java.sun.com/developer/technicalArticles/J2SE/security/ SunMSCAPI for Windows, SunPKCS11 for PKCS#11 platforms. It also talkes about NSS. another possible interface is Mozilla NSS for java. Since NSS calls PKCS#11 security devices, it should work on many platforms http://www.mozilla.org/projects/security/pki/jss/ > Anders > unconvinced > > On 2011-11-24 10:31, Ludovic Rousseau wrote: >> 2011/11/23 Anders Rundgren<anders.rundg...@telia.com>: >>> Hi, >> >> Hello, >> >>> I just wonder what your opinion is about Java smart card io which is a >>> part of JDK 1.6 and forward. >>> >>> I did a minute test and it wasn't overly convincing :-( >>> >>> OTOH, as we all know that smart card middle ware is "hell on earth" I >>> may simple haven't given it enough time. >> >> Do you know "PCSC sample in Java" [1]? >> >>> import javax.smartcardio.*; >>> import java.util.List; >>> >>> public class smart >>> { >>> public static void main (String[] args) >>> { >>> try >>> { >>> // show the list of available terminals >>> TerminalFactory factory = TerminalFactory.getDefault(); >>> List<CardTerminal> terminals = factory.terminals().list(); >>> >>> // get the first terminal >>> if (terminals.isEmpty ()) >>> { >>> System.out.println ("No terminals found!"); >>> } >>> else >>> { >>> System.out.println("Terminals: " + terminals); >>> CardTerminal terminal = terminals.get(0); >>> // establish a connection with the card >>> Card card = terminal.connect("T=0"); >>> System.out.println("card: " + card); >>> CardChannel channel = card.getBasicChannel(); >>> // disconnect >>> card.disconnect(false); >>> } >>> } >>> catch (Exception e) >>> { >>> e.printStackTrace (); >>> } >>> } >>> } >>> >>> On windows you get an exception if there is no reader connected! >> >> I can't tell about Windows. >> >>> On Ubuntu I always get No terminals found! >> >> Ubuntu has a special configuration of pcsc-lite. Read "pcsc-lite >> upgrade and Ubuntu special configuration" [2]. >> >>> On both machines I have other smart card apps working including pcscd on >>> Ubuntu >>> that in debug mode shows that the card is connected etc. >> >> You have not tried hard enough :-) >> >> Bye, >> >> [1] http://ludovicrousseau.blogspot.com/2010/06/pcsc-sample-in-java.html >> [2] >> http://ludovicrousseau.blogspot.com/2010/10/pcsc-lite-upgrade-and-ubuntu-special.html >> > > _______________________________________________ > opensc-devel mailing list > opensc-devel@lists.opensc-project.org > http://www.opensc-project.org/mailman/listinfo/opensc-devel > > -- Douglas E. Engert <deeng...@anl.gov> Argonne National Laboratory 9700 South Cass Avenue Argonne, Illinois 60439 (630) 252-5444 _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel