MacOS security CLI wrapper
April 21, 2017 · View on GitHub
#!/usr/bin/env bash
KEYCHAIN="secrets.keychain"
main () { if [[ -z "$1" ]]; then print_usage fi
case "$1" in ls) list_secrets ;; get) get_secret "$2" ;; set) set_secret "$2" "$3" ;; rm) delete_secret "$2" ;; *) print_usage ;; esac }
list_secrets() { security dump-keychain KEYCHAIN | grep 0x00000007 | awk -F= '{print \2}' | tr -d " }
get_secret() { if [[ -z "$1" ]]; then print_usage fi security find-generic-password -a USER -s "\1" -w $KEYCHAIN }
set_secret() { if [[ -z "$1" ]] || [[ -z "$2" ]]; then print_usage fi security add-generic-password -D secret -U -a USER -s "\1" -w "$2" $KEYCHAIN }
delete_secret() { if [[ -z "$1" ]]; then print_usage fi security delete-generic-password -a USER -s "\1" $KEYCHAIN }
print_usage() {
cat << EOF
Usage:
sec set
main "$@"