Home Life Legos Tech Mac Graveyard
magnusviri

2016-04-07

Reading the keychain from a perl script

This is short. I figured out how to read the logged in users' keychain from a perl script and send the results to hdiutil for creating encrypted disk images, but then I discovered that I didn't actually need to do it.

I might need to do this again in the future so I better document it.

# These 3 items are used to find the correct keychain item.
my $keychain_name = "Each keychain item has a name, use it here";
my $keychain_kind = "Each keychain item has a kind, use it here";
my $keychain_account = "Each keychain item has a account, use it here";

# These variables specify details for the new disk image.
my $disk_size = "10G";
my $volname = "Something";
my $filepath = "/tmp/bla.sparceimage";

system "PWD=\$(security find-generic-password -w -l \"$keychain_name\" -D \"$keychain_kind\" -a \"$keychain_account\") ; printf \$PWD | hdiutil create -size $disk_size -encryption -stdinpass -volname \"$volname\" -type SPARSE -fs HFS+ \"$filepath\"";

Copyright 2017 James Reynolds