1# -*-shell-script-*-
2# This should be sourced by bash (though we welcome changes to make it POSIX sh compliant)
3
4# Monkeysphere authentication remove-certifier subcommand
5#
6# The monkeysphere scripts are written by:
7# Jameson Rollins <jrollins@finestructure.net>
8# Jamie McClelland <jm@mayfirst.org>
9# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
10#
11# They are Copyright 2008-2009, and are all released under the GPL,
12# version 3 or later.
13
14# delete a certifiers key from the host keyring
15
16remove_certifier() {
17
18local keyID
19local fingerprint
20
21keyID="$1"
22if [ -z "$keyID" ] ; then
23    failure "You must specify the key ID of a key to remove."
24fi
25
26# FIXME: should we be doing a fancier list_certifier output here?
27gpg_core --list-key --fingerprint "0x${keyID}!" || failure
28
29if [ "$PROMPT" != "false" ] ; then
30    printf "Really remove the above listed identity certifier? (Y/n) " >&2
31    read OK; OK=${OK:-Y}
32    if [ "${OK/y/Y}" != 'Y' ] ; then
33	failure "Identity certifier not removed."
34    fi
35else
36    log debug "certifier removed without prompting."
37fi
38
39# delete the requested key from the sphere keyring
40if gpg_sphere --delete-key --batch --yes "0x${keyID}!" ; then
41    # delete key from core keyring as well
42    gpg_core --delete-key --batch --yes "0x${keyID}!"
43
44    # update the trustdb for the authentication keyring
45    gpg_sphere --check-trustdb
46
47    log info "Identity certifier removed."
48else
49    failure "Problem removing identity certifier."
50fi
51
52}
53