On Tue, 25 May 2010, James Carlson wrote:
>Nicolas Williams wrote:
>> On Fri, May 21, 2010 at 03:40:54AM -0700, Darren J Moffat wrote:
>>> /* That's what getpassphrase(3c) supports. */
>>> #define PK11_MAX_TOKEN_PIN_LEN 256
>> ...
>>> int pkcs11_parse_uri(const char *str, pkcs11_uri_t *uri);
>>>
>>> Return codes are defined:
>> ...
>>> #define PK11_MUTEX_ERROR 6
>>> - getpassphrase() is not MT-safe. We use a global mutex to
>>> protect the getpassphrase() call.
>>
>> Hmmm, I think it'd have been better to have the function return an error
>> when a PIN is need and let the app call it again with the PIN -- let the
>> app prompt for a PIN.
>>
>> There's no way to deal with the fact that getpassphrase() is not
>> MT-safe from within a library. The mutex you use to synchronize access
>> to it will not be the same mutex that the application uses.
>
>Perhaps more important for a library function: there's no way to know
>exactly how one gets input from a user. It might involve interactions
>with a GUI or through some other sort of protocol (such as EAP).
there are two options in the original spec:
passphrasedialog=builtin
passphrasedialog=exec:program
the 2nd one is quite generic, one can write a script that can do
anything. Anyway, I agree now that libcryptoutil should not ask via
getpassphrase(), I'm now working on a changed design.
J.
--
Jan Pechanec
http://blogs.sun.com/janp
_______________________________________________
opensolaris-arc mailing list
[email protected]