Description of problem: Performing an enrollment with the Safenet 330J token does not work. The enrollment process blows up in random places leading us to a resource issue. Additional info: It turns out that we are using too much volatile memory. The following attachment will contain some code to work around this problem for this token.
To clarify, the resource problem takes place in the applet component of TPS.
Created attachment 329063 [details] Patch to allow the safenet token to enroll.
Created attachment 329066 [details] Actual patch to work around this problem
rrelyea can you review 329066?
Comment on attachment 329066 [details] Actual patch to work around this problem r+ with the following caveat. This patch should only be used for the Safenet 330J, and here's why: This moves the iobuf from volatile to non-volatile memory. This has the following downsides: 1) access to non-volatile memory is expensive. We use iobuf as a temp in many places, including signing, so this can affect the performance of the card (you may notice enrollment is a bit slower, as well as signing). 2) bigger issue: non-volatile memory only has a limitted number of write cycles. Each write reduces the overall lifetime of the card. IOBUF is a scratch area that is written to every time you do a signature. This patch should be checked in as a branch and applets produced for it should only apply to this card. In addition we should recommend that the vendor create cards with more Transient memory for any deployment if possible. bob
Checking in CardEdge.java; /cvs/dirsec/coolkey/applet/src/com/redhat/ckey/applet/CardEdge.java,v <-- CardEdge.java new revision: 1.4.2.1; previous revision: 1.4
Verified. Tested enrollment with applet upgrade from version 1.3.44724DDE to 1.4.499dc06c on Safenet 330J, works fine. We have a separate bug for the applet downgrade issue (https://bugzilla.redhat.com/show_bug.cgi?id=493211).