[MacRuby-devel] retrieving password from keychain
Karl Varga
kjvarga at gmail.com
Sun Apr 19 20:17:02 PDT 2009
Hi there,
I am having a strange problem that other people don't seem to be
having because I can't find any references to in google searches. I
am using MacRuby 0.4 installed from the binary available on the
macruby binary releases page (MacRuby version 0.4 (ruby 1.9.1)
[universal-darwin9.5, x86_64])
I have an application which stores username/passwords in the keychain.
I can add items to the keychain (so I can call
SecKeychainAddGenericPassword() fine and therefore I think my setup
must be OK), but I cannot retrieve them. When I call:
status, *data = SecKeychainFindGenericPassword(
nil, service.length, service, username.length, username)
I get an error:
Configuration.app/Contents/Resources/Controller.rb:99:in
`SecKeychainFindGenericPassword': wrong number of arguments (5 for 8)
(ArgumentError)
The method signature is this:
OSStatus SecKeychainFindGenericPassword (
CFTypeRef keychainOrArray,
UInt32 serviceNameLength,
const char *serviceName,
UInt32 accountNameLength,
const char *accountName,
UInt32 *passwordLength,
void **passwordData,
SecKeychainItemRef *itemRef
);
All the examples I've read suggest that this method in macruby should
only take 5 args and return the status, password length, password
string and item reference (the last 3 extracted from *data) instead of
passing in pointers (which I don't know how to do BTW).
What gives? Anyone have any idea or had the same problem?
--
Karl Varga
kjvarga at gmail.com
Cell: +61 (0)4 2075 1356
More information about the MacRuby-devel
mailing list