diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2019-01-30 15:01:02 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2019-01-30 15:01:02 -0200 |
commit | dc7d4bf2a68bd167cb5850a03105b9f4ca19f90e (patch) | |
tree | f470a9254f16f20cee1c91e2af029949b4fa9e4e /lib/keyringer/actions | |
parent | e5659e2ba6be675f2f8383e0264bde8968a869d0 (diff) | |
parent | bfb19958de60135f98deec6089cd291b43ba9d9c (diff) | |
download | keyringer-dc7d4bf2a68bd167cb5850a03105b9f4ca19f90e.tar.gz keyringer-dc7d4bf2a68bd167cb5850a03105b9f4ca19f90e.tar.bz2 |
Merge branch 'develop'
Diffstat (limited to 'lib/keyringer/actions')
-rwxr-xr-x | lib/keyringer/actions/genkeys | 11 | ||||
-rwxr-xr-x | lib/keyringer/actions/shell | 2 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/keyringer/actions/genkeys b/lib/keyringer/actions/genkeys index deacbfd..addd10d 100755 --- a/lib/keyringer/actions/genkeys +++ b/lib/keyringer/actions/genkeys @@ -52,7 +52,7 @@ function genkeys_gpg { passphrase="`keyringer_exec decrypt "$BASEDIR" "$FILE.passwd"`" # TODO: insert random bytes - # TODO: custom Name-Comment and Name-Email + # TODO: custom Name-Email $GPG --homedir "$TMPWORK" --gen-key --batch <<EOF Key-Type: RSA Key-Length: 4096 @@ -66,8 +66,11 @@ function genkeys_gpg { EOF # Encrypt the result + # See https://superuser.com/questions/1135812/gpg2-asking-for-passphrase-when-importing-secret-keys#1135950 + # https://stackoverflow.com/questions/49072403/suppress-the-passphrase-prompt-in-gpg-command + # https://dev.gnupg.org/T2313 echo "Encrypting secret key into keyringer..." - $GPG --armor --homedir "$TMPWORK" --export-secret-keys | keyringer_exec encrypt "$BASEDIR" "$FILE" + echo -e "${passphrase}\n" | $GPG --armor --homedir "$TMPWORK" --passphrase-fd 0 --batch --no-tty --pinentry-mode=loopback --export-secret-keys | keyringer_exec encrypt "$BASEDIR" "$FILE" echo "Encrypting public key into keyringer..." $GPG --armor --homedir "$TMPWORK" --export | keyringer_exec encrypt "$BASEDIR" "$FILE.pub" #echo "Encrypting passphrase into keyringer..." @@ -76,8 +79,8 @@ EOF if [ ! -z "$OUTFILE" ]; then mkdir -p `dirname $OUTFILE` printf "Saving copies at %s and %s.pub\n" "$OUTFILE" "$OUTFILE" - $GPG --armor --homedir "$TMPWORK" --export-secret-keys > "$OUTFILE" - $GPG --armor --homedir "$TMPWORK" --export > "$OUTFILE.pub" + echo -e "${passphrase}\n" | $GPG --armor --homedir "$TMPWORK" --passphrase-fd 0 --batch --no-tty --pinentry-mode=loopback --export-secret-keys > "$OUTFILE" + $GPG --armor --homedir "$TMPWORK" --export > "$OUTFILE.pub" fi echo "Done" diff --git a/lib/keyringer/actions/shell b/lib/keyringer/actions/shell index 3b98d68..d87a638 100755 --- a/lib/keyringer/actions/shell +++ b/lib/keyringer/actions/shell @@ -15,6 +15,8 @@ keyringer_usage $KEYRING # While a "quit" command isn't entered, read STDIN while read -rep "keyringer:/${KEYRING}${SHELLPATH}> " STDIN; do + history -s "$STDIN" + if [ "$STDIN" == "quit" ] || [ "$STDIN" == "exit" ] || [ "$STDIN" == "bye" ]; then break elif [ "$STDIN" == "shell" ]; then |