# else, get the key from the keyserver
else
- # create a temporary directory for storing the downloaded key
- local GNUPGHOME="$tmpDir"
- chmod 0700 "$GNUPGHOME"
- chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$GNUPGHOME"
- export GNUPGHOME
+ # fix permissions and ownership on temporary directory which will
+ # be used by monkeysphere user for storing the downloaded key
+ chmod 0700 "$tmpDir"
+ chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$tmpDir"
# download the key from the keyserver as the monkeysphere user
log verbose "searching keyserver $KEYSERVER for keyID $keyID..."
- su_monkeysphere_user "gpg --quiet --keyserver $KEYSERVER --recv-key 0x${keyID}!" \
+ su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --quiet --keyserver $KEYSERVER --recv-key 0x${keyID}!" \
|| failure "Could not receive a key with this ID from the '$KEYSERVER' keyserver."
# get the full fingerprint of new revoker key
log debug "getting fingerprint of revoker key..."
- fingerprint=$(su_monkeysphere_user "gpg --list-key --with-colons --with-fingerprint 0x${keyID}!" \
+ fingerprint=$(su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --list-key --with-colons --with-fingerprint 0x${keyID}!" \
| grep '^fpr:' | grep "$keyID" | cut -d: -f10)
log info "key found:"
- su_monkeysphere_user "gpg --fingerprint 0x${fingerprint}!"
+ su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --fingerprint 0x${fingerprint}!"
if [ "$PROMPT" = "true" ] ; then
echo "Are you sure you want to add the above key as a"
# export the new key to the host keyring
log debug "loading key into host keyring..."
- su_monkeysphere_user "gpg --quiet --export 0x${fingerprint}!" \
+ su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --quiet --export 0x${fingerprint}!" \
| gpg_host --import
fi