JDK-8039319 : (smartcardio) Card.transmitControlCommand() does not work on Mac OS X
Type:Bug
Component:security-libs
Sub-Component:javax.smartcardio
Affected Version:7u51
Priority:P3
Status:Closed
Resolution:Fixed
Submitted:2014-04-04
Updated:2016-06-13
Resolved:2014-05-28
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
card.transmitControlCommand(0x42000d48, new byte[] {}) does not work using
TerminalFactory provider SunPCSC (the default provider)
Comments
The regression test test/sun/security/smartcardio/TestControl.java can be used to verify how Card.transmitControlCommand() works.
However, the test isn't perfect.
First, it requires a smart-card-reader which supports T=0 protocol. (I had to change it to T=1 to work with the card-reader I have access to).
Second, it really only checks that the function doesn't crash (see the comment in the test):
// we currently don't know of any control commands that work with
// our readers. call the function just to make sure we don't crash
// or throw the wrong exception
We couldn't use any hardcoded command in the test, including the one provided in the bug description, since the command codes depend on the platform and hardware.
12-06-2014
Is it covered by existing regression tests? Please provide testing recommendations.