RE: PKCS#11
"Marco Scarsi" <[email protected]> Wed, 23 May 2001 19:37:03 +0200
| Newsgroups | gmane.ietf.sfl |
|---|---|
| Message-ID | <[email protected]> |
Hi Bob, I just saw now your last answer (my previous message was not aware of it...) >Marco: > >Unfortunately, you happen to be using the least tested of our CTILs. I am >very surprised the CTIL even writes to the card, I did not expect this. I >am not the author of the PKCS11 interface, I will have to take time to >investigate the logic you outline below. Do you know if it is necessary to >write the PIN to the card in order to perform signature operations? I guess not. But even if yes, I imagine the object should be removed from the card before the end of the run. And I did not find any call to C_DestroyObject in the code. Another possibility is that C_CreateObject, in the PKCS11 implementations you used, does not physically write on the card. But I would find this strange. >This would be a PKCS11 interface question, the CTIL only does what is >necessary >based on the undercarriage crypto library (in this case PKCS11). I am >aware >that the original author had problems with the various PKCS11 libraries in >attempting to match certificates with private keys. The logic you have >been >investigating attempts various approaches based on the PKCS11 object data >structures to match them; I believe there are now 3 different techniques >for >the various supported libraries (due to the authors of the PKCS11 libs, >each >interpreted the specifications differently; this is not under our control). > >After looking at your previous e-mail, I see that you are integrating a new >PKCS11 library. Yes, I am integrating a new PKCS11 library, that is not mentioned between the ones you support. >Architecturally, I am surprised our logic writes an object >to the card for the PIN. Even if this is necessary, it would seem it >should >be deleted at the end. If you can indicate to me that this is not >necessary >for proper PKCS11 operation, then I will investigate re-arranging the >PKCS11 >library to not perform this operation and keep track of this information >internally (or at the least, delete the object at the end). The "..." >characters on the object name imply that something is different in your >incarnation that we expected for the naming (a string). I will have to >investigate further. I think the wrong label written on the card is a minor problem. >In the mean-time, you might consider keeping the created object handle in >the PKCS11 CTIL class memory, and if not NULL destroying it at the end; we >do call the destructors on the CTILs. I would override the name to be a >constant string as you suggest. This should get you operational in a short >amount of time. Please let me know if this works, we can attempt to >implement this in the other libraries and re-test. The logic that writes >to >the card may have been necessary for a particular PKCS11 library we have >tested with, update testing will indicate this. If this is the case, we >will #ifdef the write logic for that particular library if possible >(perhaps >by input PKCS11 library file name). > >After viewing the referenced code, it would appear that the "m_hPinObject" >object is not destroyed. You should be able to destroy this object upon >CSM_Pkcs11 destruction (or the inheriting class) and fix your problem. >Please let me know. I agree that your returned name should be "Data object >for Pin", since this is hardcoded in the logic. Could your library be >losing track of this string? Or perhaps not tracking it properly if our >logic does not close the session? Further testing will show; please let me >know if this works, I will update the baseline. > >There were not relevant changes to the SFL R1.10 version. > >Bob Colestock >VDA. For the moment I simply commented the call to CSM_Pkcs11::SetPin. Starting next week I'll be able to work on your suggestions. Thanks Bye Marco _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.