-# function to check for host secret key
-check_host_keyring() {
- fingerprint_server_key >/dev/null \
- || failure "You don't appear to have a Monkeysphere host key on this server. Please run 'monkeysphere-server gen-key' first."
+# output the index of a user ID on the host key
+# return 1 if user ID not found
+find_host_userid() {
+ local userID="$1"
+ local tmpuidMatch
+ local line
+
+ # match to only ultimately trusted user IDs
+ tmpuidMatch="u:$(echo $userID | gpg_escape)"
+
+ # find the index of the requsted user ID
+ # NOTE: this is based on circumstantial evidence that the order of
+ # this output is the appropriate index
+ line=$(gpg_host_list | egrep '^(uid|uat):' | cut -f2,10 -d: | \
+ grep -n -x -F "$tmpuidMatch" 2>/dev/null)
+
+ if [ "$line" ] ; then
+ echo ${line%%:*}
+ return 0
+ else
+ return 1
+ fi
+}
+
+# show info about the host key
+show_key() {
+ gpg_host --fingerprint --list-key --list-options show-unusable-uids \
+ "0x${HOST_FINGERPRINT}!" 2>/dev/null || true
+ # FIXME: make sure expiration date is shown
+
+ echo "OpenPGP fingerprint: $HOST_FINGERPRINT"
+
+ echo -n "ssh fingerprint: "
+ ssh-keygen -l -f /dev/stdin \
+ <<<$(openpgp2ssh <"$HOST_KEY_FILE" 2>/dev/null) \
+ | awk '{ print $1, $2, $4 }'
+
+ # FIXME: other relevant key parameters?