summaryrefslogtreecommitdiff
path: root/src/share/ma/remove_certifier
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/ma/remove_certifier')
-rw-r--r--src/share/ma/remove_certifier49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/share/ma/remove_certifier b/src/share/ma/remove_certifier
new file mode 100644
index 0000000..560281d
--- /dev/null
+++ b/src/share/ma/remove_certifier
@@ -0,0 +1,49 @@
+# -*-shell-script-*-
+# This should be sourced by bash (though we welcome changes to make it POSIX sh compliant)
+
+# Monkeysphere authentication remove-certifier subcommand
+#
+# The monkeysphere scripts are written by:
+# Jameson Rollins <jrollins@finestructure.net>
+# Jamie McClelland <jm@mayfirst.org>
+# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+#
+# They are Copyright 2008-2009, and are all released under the GPL,
+# version 3 or later.
+
+# delete a certifiers key from the host keyring
+
+remove_certifier() {
+
+local keyID
+local fingerprint
+
+keyID="$1"
+if [ -z "$keyID" ] ; then
+ failure "You must specify the key ID of a key to remove."
+fi
+
+if gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-key 0x${keyID}!" ; then
+ read -p "Really remove above listed identity certifier? (y/N) " OK; OK=${OK:-N}
+ if [ "${OK/y/Y}" != 'Y' ] ; then
+ failure "Identity certifier not removed."
+ fi
+else
+ failure
+fi
+
+# delete the requested key
+if gpg_sphere "--delete-key --batch --yes 0x${keyID}!" ; then
+ # delete key from host keyring as well
+ gpg_core --delete-key --batch --yes "0x${keyID}!"
+
+ # update the trustdb for the authentication keyring
+ gpg_sphere "--check-trustdb"
+
+ echo
+ echo "Identity certifier removed."
+else
+ failure "Problem removing identity certifier."
+fi
+
+}