KeychainCache development

The good news is that KeychainCache should “just work” on Panther. The bad news is that KeychainCache is unable to cache Safari’s Keychain.

I’ve spent a couple of hours trying to get KeychainCache to work with Safari. Safari is kind of annoying in the way it uses the Keychain. It’s almost impossible to keep the Keychain locked if you run Safari. So I did a little bit of exploring in gdb and I found out that it was using the ‘SecKeychainFindGenericPassword’ API to access items on the Keychain (for at least some of the items)

But unfortunately Safari uses the ‘extended’ modes of the Keychain API to access keychain items (for you programmers out there it uses the “SecKeychainItemRef” parameter of the “SecKeychainFindGenericPassword” function). I have no intention of supporting that mode of that API. It would require me to patch several functions just to get it all working – effectively I’ll be mirroring a lot of the Keychain’s functionality inside my APE module. That really is a lot of complexity I can do without.

So for now – KeychainCache cannot work with Safari.

That’s like… A bummer.

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

Comments are closed.