Hi,
I've noticed that when one application uses the TPM and is finished
with it (it has closed the context, but the application has not
exited yet), another application on the same machine cannot access
the TPM; it throws the following error:
---------------
TSS Error:
error layer: 0x1000 (TDDL)
error code (without layer): 0x87
error code (full): 0x1087
error message: The request could not be performed because of an IO
device error.
additional info: Unable to open TPM device file /dev/tpm0.
Reason: /dev/tpm0 (Device or resource busy)
at
iaik.tc.tss.impl.java.tddl.TcTddlLinux.open(TcTddlLinux.java:107)
at iaik.tc.tss.impl.java.tddl.TcTddl.getInstance(TcTddl.java:44)
at
iaik.tc.tss.impl.java.tcs.TcTcsCommon.isOrdinalSupported(TcTcsCommon.java:66)
at iaik.tc.tss.impl.java.tcs.tcsi.TcTcsi.<clinit>(TcTcsi.java:112)
at
iaik.tc.tss.impl.java.tsp.tcsbinding.local.TcTcsBindingLocal.TcsiOpenContext(TcTcsBindingLocal.java:177)
at
iaik.tc.tss.impl.java.tsp.internal.TcTspInternal.TspContextOpen_Internal(TcTspInternal.java:378)
at iaik.tc.tss.impl.java.tsp.TcContext.connect(TcContext.java:167)
at iaik.tc.tss.impl.java.tsp.TcContext.connect(TcContext.java:199)
---------------
Is this normal or a bug in JTSS? If this is normal, how does one
enable multiple applications accessing a TPM on the same machine
(without the expense of SOAP calls)?
My environment is as follows:
CentOS: 2.6.18-164.el5 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
JVM: Version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
JTSS: Version 0.4.1, using local bindings (not SOAP)
Thanks.
Arshad Noor
StrongAuth, Inc.
|