|| failure "You don't appear to have a Monkeysphere host key on this server. Please run 'monkeysphere-server gen-key' first."
}
+# show info about the host key
+show_key() {
+ local fingerprintPGP
+ local fingerprintSSH
+ local ret=0
+
+ # FIXME: you shouldn't have to be root to see the host key fingerprint
+ if is_root ; then
+ check_host_keyring
+ fingerprintPGP=$(fingerprint_server_key)
+ gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
+ echo "OpenPGP fingerprint: $fingerprintPGP"
+ else
+ log info "You must be root to see host OpenPGP fingerprint."
+ ret='1'
+ fi
+
+ if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
+ fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \
+ awk '{ print $1, $2, $4 }')
+ echo "ssh fingerprint: $fingerprintSSH"
+ else
+ log info "SSH host key not found."
+ ret='1'
+ fi
+
+return $ret
+}
+
########################################################################
# MAIN
########################################################################
# add hostname user ID to server key
+add_hostname() {
+
local userID
local fingerprint
local tmpuidMatch
# update the trustdb for the authentication keyring
gpg_authentication "--check-trustdb"
- show_server_key
+ show_key
echo
echo "NOTE: User ID added to key, but key not published."
else
failure "Problem adding user ID."
fi
+
+}
# add a revoker to the host key
+add_revoker() {
+
# FIXME: implement!
failure "not implemented yet!"
+
+}
# They are Copyright 2008, and are all released under the GPL, version 3
# or later.
-# * check on the status and validity of the key and public certificates
+# check on the status and validity of the key and public certificates
+
+diagnostics() {
+
local seckey
local keysfound
local curdate
else
echo "Everything seems to be in order!"
fi
+
+}
# extend the lifetime of a host key:
+extend_key() {
+
local fpr=$(fingerprint_server_key)
local extendTo="$1"
echo
echo "NOTE: Host key expiration date adjusted, but not yet published."
echo "Run '$PGRM publish-key' to publish the new expiration date."
+
+}
log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
# show info about new key
-show_server_key
+show_key
log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
# show info about new key
-show_server_key
+show_key
# publish server key to keyserver
+publish_key() {
+
read -p "Really publish host key to $KEYSERVER? (y/N) " OK; OK=${OK:=N}
if [ ${OK/y/Y} != 'Y' ] ; then
failure "key not published."
# publish host key
gpg_authentication "--keyserver $KEYSERVER --send-keys '0x${fingerprint}!'"
+
+}
# revoke hostname user ID from host key
+revoke_hostname() {
+
local userID
local fingerprint
local tmpuidMatch
# update the trustdb for the authentication keyring
gpg_authentication "--check-trustdb"
- show_server_key
+ show_key
echo
echo "NOTE: User ID revoked, but revocation not published."
else
failure "Problem revoking user ID."
fi
+
+}
# revoke host key
+revoke_key() {
+
# FIXME: implement!
failure "not implemented yet!"
+
+}
+++ /dev/null
-#!/usr/bin/env bash
-
-# Monkeysphere host show-key subcommand
-#
-# The monkeysphere scripts are written by:
-# Jameson Rollins <jrollins@fifthhorseman.net>
-# Jamie McClelland <jm@mayfirst.org>
-# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-#
-# They are Copyright 2008, and are all released under the GPL, version 3
-# or later.
-
-local fingerprintPGP
-local fingerprintSSH
-local ret=0
-
-# FIXME: you shouldn't have to be root to see the host key fingerprint
-if is_root ; then
- check_host_keyring
- fingerprintPGP=$(fingerprint_server_key)
- gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
- echo "OpenPGP fingerprint: $fingerprintPGP"
-else
- log info "You must be root to see host OpenPGP fingerprint."
- ret='1'
-fi
-
-if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
- fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \
- awk '{ print $1, $2, $4 }')
- echo "ssh fingerprint: $fingerprintSSH"
-else
- log info "SSH host key not found."
- ret='1'
-fi
-
-return $ret