export keyID
-# get the full fingerprint of a key ID
+# get the full fingerprint of new certifier key
log debug "getting fingerprint of certifier key..."
fingerprint=$(gpg_sphere "--list-key --with-colons --with-fingerprint 0x${keyID}!" \
| grep '^fpr:' | grep "$keyID" | cut -d: -f10)
# export the key to the core keyring so that the core can sign the
# new certifier key
+log debug "exporting retrieved certifier key to core keyring..."
gpg_sphere "--export 0x${fingerprint}!" | gpg_core --import
case "$trust" in
)
# core ltsigns the newly imported certifier key
+log debug "executing core ltsign script..."
if echo "$ltsignCommand" | \
gpg_core --quiet --command-fd 0 --edit-key "0x${fingerprint}!" ; then
gpg_core_sphere_sig_transfer
# update the sphere trustdb
+ log debug "updating sphere trustdb..."
gpg_sphere "--check-trustdb"
log info "Identity certifier added."
local keys
local key
-# find trusted keys in authentication keychain
-keys=$(gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-keys --with-colons --fingerprint" | \
- grep ^pub: | cut -d: -f2,5 | egrep '^(u|f):' | cut -d: -f2)
+# find trusted keys in sphere keychain
+log debug "finding trusted keys..."
+
+# NOTE: looking for only 'f' keys here (used to be '(u|f)'), since the
+# only key that should be 'u' is the core key, which is not
+# technically a certifier in the sense we're worried about. Is this
+# not correct? Should we be sorting out the certifier keys in a
+# different way?
+keys=$(gpg_sphere "--list-keys --with-colons --fingerprint" | \
+ grep ^pub: | cut -d: -f2,5 | egrep '^f:' | cut -d: -f2)
# output keys
for key in $keys ; do
- gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-key --fingerprint $key"
+ gpg_sphere "--list-key --fingerprint 0x${key}!"
done
}
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
+if gpg_sphere "--list-key --fingerprint 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."