ソースを参照

Use homedir for gpg export and import

Bob Mottram 8 年 前
コミット
22e6e4ae62
共有2 個のファイルを変更した8 個の追加8 個の削除を含む
  1. 7
    7
      src/freedombone-keydrive
  2. 1
    1
      src/freedombone-recoverkey

+ 7
- 7
src/freedombone-keydrive ファイルの表示

145
   export GPG_TTY
145
   export GPG_TTY
146
 
146
 
147
   USER_EMAIL_ADDRESS=$MY_USERNAME@$HOSTNAME
147
   USER_EMAIL_ADDRESS=$MY_USERNAME@$HOSTNAME
148
-  GPG_ID=$(gpg --list-keys $USER_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//')
149
-  GPG_BACKUP_ID=$(gpg --list-keys "(backup key)" | sed -n '2p' | sed 's/^[ \t]*//')
148
+  GPG_ID=$(su -m root -c "gpg --list-keys $USER_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//'" - $MY_USERNAME)
149
+  GPG_BACKUP_ID=$(su -m root -c "gpg --list-keys \"(backup key)\" | sed -n '2p' | sed 's/^[ \t]*//'" - $MY_USERNAME)
150
 
150
 
151
   gpgerrstr=$'error'
151
   gpgerrstr=$'error'
152
-  gpgkey=$(gpg --armor --export $GPG_ID)
152
+  gpgkey=$(gpg --homedir=/home/$MY_USERNAME/.gnupg --armor --export $GPG_ID)
153
   if [[ "$gpgkey" == *"$gpgerrstr"* ]]; then
153
   if [[ "$gpgkey" == *"$gpgerrstr"* ]]; then
154
       echo $'Problem exporting public gpg key'
154
       echo $'Problem exporting public gpg key'
155
       echo "$gpgkey"
155
       echo "$gpgkey"
156
       exit 735282
156
       exit 735282
157
   fi
157
   fi
158
-  gpgprivkey=$(gpg --armor --export-secret-key $GPG_ID)
158
+  gpgprivkey=$(gpg --homedir=/home/$MY_USERNAME/.gnupg --armor --export-secret-key $GPG_ID)
159
   if [[ "$gpgprivkey" == *"$gpgerrstr"* ]]; then
159
   if [[ "$gpgprivkey" == *"$gpgerrstr"* ]]; then
160
       echo $'Problem exporting private gpg key'
160
       echo $'Problem exporting private gpg key'
161
       echo "$gpgprivkey"
161
       echo "$gpgprivkey"
163
       exit 629362
163
       exit 629362
164
   fi
164
   fi
165
 
165
 
166
-  backupgpgkey=$(gpg --armor --export $GPG_BACKUP_ID)
166
+  backupgpgkey=$(gpg --homedir=/home/$MY_USERNAME/.gnupg --armor --export $GPG_BACKUP_ID)
167
   if [[ "$backupgpgkey" == *"$gpgerrstr"* ]]; then
167
   if [[ "$backupgpgkey" == *"$gpgerrstr"* ]]; then
168
       echo $'Problem exporting public gpg backup key'
168
       echo $'Problem exporting public gpg backup key'
169
       echo "$backupgpgkey"
169
       echo "$backupgpgkey"
170
       exit 735282
170
       exit 735282
171
   fi
171
   fi
172
-  backupgpgprivkey=$(gpg --armor --export-secret-key $GPG_BACKUP_ID)
172
+  backupgpgprivkey=$(gpg --homedir=/home/$MY_USERNAME/.gnupg --armor --export-secret-key $GPG_BACKUP_ID)
173
   if [[ "$backupgpgprivkey" == *"$gpgerrstr"* ]]; then
173
   if [[ "$backupgpgprivkey" == *"$gpgerrstr"* ]]; then
174
       echo $'Problem exporting private gpg backup key'
174
       echo $'Problem exporting private gpg backup key'
175
       echo "$backupgpgprivkey"
175
       echo "$backupgpgprivkey"
176
-      gpgprivkey=
176
+      backupgpgprivkey=
177
       exit 629362
177
       exit 629362
178
   fi
178
   fi
179
 
179
 

+ 1
- 1
src/freedombone-recoverkey ファイルの表示

174
 echo $'Key fragments recombined'
174
 echo $'Key fragments recombined'
175
 
175
 
176
 # import the gpg key
176
 # import the gpg key
177
-su -c "gpg --allow-secret-key-import --import $KEYS_FILE" - $MY_USERNAME
177
+gpg --homedir=/home/$MY_USERNAME/.gnupg --allow-secret-key-import --import $KEYS_FILE
178
 if [ ! "$?" = "0" ]; then
178
 if [ ! "$?" = "0" ]; then
179
     echo $'Unable to import gpg key'
179
     echo $'Unable to import gpg key'
180
     shred -zu $KEYS_FILE
180
     shred -zu $KEYS_FILE