[As suggested by Will, this is a repost, with the addition of crypto-discuss at opensolaris.org]
Sun appears to be headed down the path of using /usr/lib/libpkcs11.so with Kerberos PKINIT as well as pam_pkcs11.so, and it was said opensc-pkcs11.so works with libpkcs11. So I wanted to try this for myself. I obtained a elfsign certificate from Sun and signed the opensc-pkcs11.so and installed it using cryptoadm install provider=..../opensc-pkcs11.so Using the opensc-0.11.6 and pcscd I have run into two related problems, and a problem where sshd (and dtlogin) will not run if the opensc-pkcs11.so is listed as a provider. Sun appears to expect C_GetMechaismList to return a list if there is a slot present, even if there is no token present. See the attached cryptoadmin.txt I think this is a bug in Sun's code. PKCS#11 2.01 and 2.20 say: "C_GetMechanismList is used to obtain a list of mechanism types supported by a token." If there is no token they should not ask for a list of mechanisms. Note that crytpoadm shows that there is no token present in the slot. The above test was run with the following patch installed. OpenSC will show a slot is present if there is a reader, but will segfault if C_GetMechanismList is called for an unused virtual slot. I submitted to OpenSC ticket number #181 the attached slot.null.txt is a gdb trace of the Sun cryptoadm calling C_GetMechanisnList for the first of the virtual slots. There is a card in the reader using the first 4 slots. Note that sc_pkcs11_get_mechanism_list is called with p11card=0x0. Ticket #181 gets around this. I have not tracked down the sshd and login problems yet. I am assuming that is related to no mechanism list. Note that sshd should not be using the console user's smartcard for any crypto! -- Douglas E. Engert <DEEngert at anl.gov> Argonne National Laboratory 9700 South Cass Avenue Argonne, Illinois 60439 (630) 252-5444 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: slot.null.txt URL: <http://mail.opensolaris.org/pipermail/crypto-discuss/attachments/20081006/b8858921/attachment.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: crytpoadm.txt URL: <http://mail.opensolaris.org/pipermail/crypto-discuss/attachments/20081006/b8858921/attachment-0001.txt>