← Back to team overview

openjdk team mailing list archive

Bug#755893: Smart Card IO fails to detect any card terminals

 

Package: openjdk-7-jre-headless
Version: 7u65-2.5.1-3
Followup-For: Bug #755893

Ok, I think I figured this out. PC/SC initialization fails when the
method PlaformPCSC#getLibraryName() fails. This method tries to guess
the location of libpcsclite but can't find it on Debian systems. With
--enable-system-pcsc, the return value is never used, but the method
is called unconditionally and still needs to succeed. 

So this bug was caused by the removal of libpcsclite-dlopen.diff. That
patch made #getLibraryName() return a constant string.

Below is simpler test program. It should succeed as long as pcscd is
installed. A card reader isn't needed.

import javax.smartcardio.*;
public class PCSC {
  public static void main (String[] args) throws Exception {
    TerminalFactory.getInstance("PC/SC", null);
  }
}