Browse Source

Use the default gpg key if specified within the config file

Bob Mottram 7 years ago
parent
commit
07bca1fc2f
3 changed files with 39 additions and 0 deletions
  1. 13
    0
      src/freedombone-controlpanel-user
  2. 13
    0
      src/freedombone-utils-gpg
  3. 13
    0
      src/freedombone-utils-keys

+ 13
- 0
src/freedombone-controlpanel-user View File

@@ -37,6 +37,19 @@ MY_EMAIL_ADDRESS=$USER@$HOSTNAME
37 37
 GPG_ID=$(gpg --list-keys $MY_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//')
38 38
 GPG_BACKUP_ID=$(gpg --list-keys "(backup key)" | sed -n '2p' | sed 's/^[ \t]*//')
39 39
 
40
+# If the default key is specified within gpg.conf
41
+if [ -f ~/.gnupg/gpg.conf ]; then
42
+    if grep -q "default-key" ~/.gnupg/gpg.conf; then
43
+        default_gpg_key=$(cat ~/.gnupg/gpg.conf | grep "default-key")
44
+        if [[ "$default_gpg_key" != *'#'* ]]; then
45
+            default_gpg_key=$(cat ~/.gnupg/gpg.conf | grep "default-key" | awk -F ' ' '{print $2}')
46
+            if [ ${#default_gpg_key} -gt 3 ]; then
47
+                GPG_ID=$(gpg --list-keys $default_gpg_key | sed -n '2p' | sed 's/^[ \t]*//')
48
+            fi
49
+        fi
50
+    fi
51
+fi
52
+
40 53
 # Start including files
41 54
 
42 55
 UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*

+ 13
- 0
src/freedombone-utils-gpg View File

@@ -38,6 +38,19 @@ function gpg_update_mutt {
38 38
     CURR_EMAIL_ADDRESS=$key_username@$HOSTNAME
39 39
     CURR_GPG_ID=$(gpg --homedir=/home/$key_username/.gnupg --list-keys $CURR_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//')
40 40
 
41
+    # If the default key is specified within gpg.conf
42
+    if [ -f /home/$key_username/gpg.conf ]; then
43
+        if grep -q "default-key" /home/$key_username/gpg.conf; then
44
+            default_gpg_key=$(cat /home/$key_username/gpg.conf | grep "default-key")
45
+            if [[ "$default_gpg_key" != *'#'* ]]; then
46
+                default_gpg_key=$(cat /home/$key_username/gpg.conf | grep "default-key" | awk -F ' ' '{print $2}')
47
+                if [ ${#default_gpg_key} -gt 3 ]; then
48
+                    CURR_GPG_ID=$(gpg --homedir=/home/$key_username/.gnupg --list-keys $default_gpg_key | sed -n '2p' | sed 's/^[ \t]*//')
49
+                fi
50
+            fi
51
+        fi
52
+    fi
53
+
41 54
     sed -i "s|set pgp_encrypt_only_command.*|set pgp_encrypt_only_command=\"/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --trust-model always --encrypt-to $CURR_GPG_ID -- -r %r -- %f\"|g" /home/$key_username/.muttrc
42 55
     sed -i "s|set pgp_encrypt_sign_command.*|set pgp_encrypt_sign_command=\"/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --trust-model always --encrypt-to $CURR_GPG_ID -- -r %r -- %f\"|g" /home/$key_username/.muttrc
43 56
 

+ 13
- 0
src/freedombone-utils-keys View File

@@ -101,6 +101,19 @@ function interactive_gpg_from_usb {
101 101
             CURR_GPG_ID=$(gpg --homedir=$HOME_DIR/.gnupg --list-keys $CURR_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//')
102 102
             CURR_GPG_BACKUP_ID=$(gpg --homedir=$HOME_DIR/.gnupg --list-keys "(backup key)" | sed -n '2p' | sed 's/^[ \t]*//')
103 103
 
104
+            # If the default key is specified within gpg.conf
105
+            if [ -f $HOME_DIR/gpg.conf ]; then
106
+                if grep -q "default-key" $HOME_DIR/gpg.conf; then
107
+                    default_gpg_key=$(cat $HOME_DIR/gpg.conf | grep "default-key")
108
+                    if [[ "$default_gpg_key" != *'#'* ]]; then
109
+                        default_gpg_key=$(cat $HOME_DIR/gpg.conf | grep "default-key" | awk -F ' ' '{print $2}')
110
+                        if [ ${#default_gpg_key} -gt 3 ]; then
111
+                            CURR_GPG_ID=$(gpg --homedir=$HOME_DIR/.gnupg --list-keys $default_gpg_key | sed -n '2p' | sed 's/^[ \t]*//')
112
+                        fi
113
+                    fi
114
+                fi
115
+            fi
116
+
104 117
             echo $'Making backup copy of existing gpg keys'
105 118
             if [ -d $HOME_DIR/.gnupg ]; then
106 119
                 if [ -d $HOME_DIR/.gnupg_old ]; then