Technically, nothing is stored in the keychain access application
itself. Management of the data in a keychain is handled by the OS.
Other applications would be able to store and retrieve keychain
items even if you removed the Keychain Access application completely.
True, I knew that but should have phrased it better. :-p
One problem here is that [key length] returns the length of the
string in characters, not bytes. However, the
SecKeychainFindGenericPassword function requires the length to be
passed in bytes, not characters. (Characters other than plain ASCII
may use more than 1 byte when represented in UTF-8.) Since this
function doesn't do partial string matches, if you ask for the wrong
length, you'll fail to match the item. Use strlen() to get the
length in bytes of a UTF-8 encoded string.
Ah good point, that's what I get for not being more internationally-
conscious. Thanks for pointing that out, I'm sure it'll save me
headaches in the future.
When you see a program hung in mach_msg_trap(), it's waiting for a
Mach IPC reply from another program. In this case, it's waiting for
securityd to return the decrypted data of the item that was found.
This suggests that securityd itself is hung or no longer running,
which is definitely a problem.
Did my email where I pasted the stack trace for securityd not get
posted? I replied to myself, are those emails filtered out for some
reason?
As Perry noted in an earlier message, there is a known issue where
securityd can get into a bad state when its code equivalence
database (in /var/db/CodeEquivalenceDatabase) is corrupt. Try moving
that file aside and rebooting.
-ken
Yup, that was what the problem was (I guess my reply to him didn't
make it into your box). Thanks for the tips!
- Greg
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Apple-cdsa mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/apple-cdsa/email@hidden