Browse Source

gpg functions

Bob Mottram 8 years ago
parent
commit
e4ab5fe54e
1 changed files with 25 additions and 7 deletions
  1. 25
    7
      src/freedombone-utils-keys

+ 25
- 7
src/freedombone-utils-keys View File

28
 # You should have received a copy of the GNU Affero General Public License
28
 # You should have received a copy of the GNU Affero General Public License
29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
30
 
30
 
31
+function gpg_delete_key {
32
+    key_username=$1
33
+    key_id=$2
34
+
35
+    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-secret-key $key_id" - $key_username
36
+    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-key $key_id" - $key_username
37
+}
38
+
39
+function gpg_set_permissions {
40
+    key_username=$1
41
+
42
+    if [[ "$key_username" != 'root' ]]; then
43
+        chmod 700 /home/$key_username/.gnupg
44
+        chmod -R 600 /home/$key_username/.gnupg/*
45
+        chown -R $key_username:$key_username /home/$key_username/.gnupg
46
+    else
47
+        chmod 700 /root/.gnupg
48
+        chmod -R 600 /root/.gnupg/*
49
+        chown -R $key_username:$key_username /root/.gnupg
50
+    fi
51
+}
52
+
31
 function reconstruct_key {
53
 function reconstruct_key {
32
     if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
54
     if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
33
         return
55
         return
143
                 chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg_old
165
                 chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg_old
144
             fi
166
             fi
145
             echo $'Removing old gpg keys'
167
             echo $'Removing old gpg keys'
146
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_BACKUP_ID"
147
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_ID"
148
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_BACKUP_ID"
149
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_ID"
168
+            gpg_delete_key $MY_USERNAME $CURR_GPG_BACKUP_ID
169
+            gpg_delete_key $MY_USERNAME $CURR_GPG_ID
150
             echo $'Importing master keys'
170
             echo $'Importing master keys'
151
             gpg --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.mastergpgkey
171
             gpg --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.mastergpgkey
152
             echo "$BACKUP_DUMMY_PASSWORD" | gpg --batch --passphrase-fd 0 --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.backupgpgkey
172
             echo "$BACKUP_DUMMY_PASSWORD" | gpg --batch --passphrase-fd 0 --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.backupgpgkey
153
             if [ -d $HOME_DIR/.gnupg ]; then
173
             if [ -d $HOME_DIR/.gnupg ]; then
154
                 echo $'Setting permissions'
174
                 echo $'Setting permissions'
155
-                chmod 700 $HOME_DIR/.gnupg
156
-                chmod -R 600 $HOME_DIR/.gnupg/*
157
-                chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg
175
+                gpg_set_permissions $MY_USERNAME
158
             fi
176
             fi
159
             GPG_LOADING="no"
177
             GPG_LOADING="no"
160
             dialog --title $"Recover Encryption Keys" \
178
             dialog --title $"Recover Encryption Keys" \