浏览代码

Improve the master key import

Bob Mottram 7 年前
父节点
当前提交
08ca1e149a
共有 1 个文件被更改,包括 21 次插入0 次删除
  1. 21
    0
      src/freedombone-utils-keys

+ 21
- 0
src/freedombone-utils-keys 查看文件

@@ -128,9 +128,30 @@ function interactive_gpg_from_usb {
128 128
                 echo $'No backup key file found on USB drive'
129 129
                 exit 725729
130 130
             fi
131
+            CURR_EMAIL_ADDRESS=$USER@$HOSTNAME
132
+            CURR_GPG_ID=$(gpg --list-keys $MY_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//')
133
+            CURR_GPG_BACKUP_ID=$(gpg --list-keys "(backup key)" | sed -n '2p' | sed 's/^[ \t]*//')
134
+
135
+            echo $'Making backup copy of existing gpg keys'
136
+            if [ -d $HOME_DIR/.gnupg ]; then
137
+                if [ -d $HOME_DIR/.gnupg_old ]; then
138
+                    rm -rf $HOME_DIR/.gnupg_old
139
+                fi
140
+                cp -r $HOME_DIR/.gnupg $HOME_DIR/.gnupg_old
141
+                chmod 700 $HOME_DIR/.gnupg_old
142
+                chmod -R 600 $HOME_DIR/.gnupg_old/*
143
+                chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg_old
144
+            fi
145
+            echo $'Removing old gpg keys'
146
+            gpg --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_BACKUP_ID"
147
+            gpg --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_BACKUP_ID"
148
+            gpg --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_ID"
149
+            gpg --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_ID"
150
+            echo $'Importing master keys'
131 151
             gpg --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.mastergpgkey
132 152
             echo "$BACKUP_DUMMY_PASSWORD" | gpg --batch --passphrase-fd 0 --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.backupgpgkey
133 153
             if [ -d $HOME_DIR/.gnupg ]; then
154
+                echo $'Setting permissions'
134 155
                 chmod 700 $HOME_DIR/.gnupg
135 156
                 chmod -R 600 $HOME_DIR/.gnupg/*
136 157
                 chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg