Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- case "${1}" in
- add)
- set -e
- shift; SERVICE="${1}"
- [ -n "${SERVICE}" ] || { echo "Usage $0 add <service>" >&2; exit 1; }
- echo "Adding keychain stoken service '${SERVICE}' token password data"
- /usr/bin/security add-generic-password -s "${SERVICE}" -a "${SERVICE}.token" -w || exit $?
- echo "Adding keychain stoken service ${SERVICE} token PIN data..."
- /usr/bin/security add-generic-password -s "${SERVICE}" -a "${SERVICE}.pin" -w || exit $?
- ;;
- remove)
- shift; SERVICE="${1}"
- [ -n "${SERVICE}" ] || { echo "Usage $0 remove <service>" >&2; exit 1; }
- echo "Removing keychain stoken service '${SERVICE}'"
- /usr/bin/security delete-generic-password -s "${SERVICE}" -a "${SERVICE}.token" &>/dev/null
- /usr/bin/security delete-generic-password -s "${SERVICE}" -a "${SERVICE}.pin" &>/dev/null
- exit 0
- ;;
- generate)
- set -e
- shift; SERVICE="${1}"
- [ -n "${SERVICE}" ] || { echo "Usage $0 generate <service> [generate [options [...]]]"; exit 1; }
- TOKEN="$(/usr/bin/security find-generic-password -s "${SERVICE}" -a "${SERVICE}.token" -w)"
- if [ $# -eq 1 ]; then
- /usr/bin/security find-generic-password -s "${SERVICE}" -a "${SERVICE}.pin" -w \
- | stoken --token="${TOKEN}" -s
- else
- shift
- echo "Adding generated stoken service '${SERVICE}'"
- /usr/bin/security add-generic-password "$@" -w "$(${0} generate "${SERVICE}")"
- fi
- ;;
- *) echo "Usage: $0 <add|remove|generate> <service> [generate [options [...]]]" >&2; exit 1 ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement