summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Chudnick <sam@chudnick.com>2022-01-05 18:01:25 -0500
committerSam Chudnick <sam@chudnick.com>2022-01-05 18:01:25 -0500
commita7ec0d3b3e49837c52051de489b118b650bb2bf0 (patch)
treec3a3aae5ed27c1209beae4028987f99661cdb8fc
parent2332407c0da4307b608061c9b20bd5dcef4c5cd7 (diff)
Prompt for KeePassXC password until correct one is given.
-rwxr-xr-x.local/bin/id-init12
1 files changed, 10 insertions, 2 deletions
diff --git a/.local/bin/id-init b/.local/bin/id-init
index d51660a..11221c3 100755
--- a/.local/bin/id-init
+++ b/.local/bin/id-init
@@ -12,9 +12,17 @@
12# gpg-preset-passphrase respects gpg-agent's --max-cache-ttl option which defaults to 2 hours 12# gpg-preset-passphrase respects gpg-agent's --max-cache-ttl option which defaults to 2 hours
13# you may want to increase that if you want the password to be cached for the whole session 13# you may want to increase that if you want the password to be cached for the whole session
14 14
15get_pass() {
16 continue=1
17 while [ $continue -eq 1 ]
18 do
19 keepassxc-cli show $XDG_CONFIG_HOME/keepassxc/Passwords.kdbx -a Password GPG
20 continue=$?
21 done
22}
23
15KEYGRIP="$(gpg -K --with-keygrip --with-colons | grep grp | tail -n 1 | cut -d':' -f10)" 24KEYGRIP="$(gpg -K --with-keygrip --with-colons | grep grp | tail -n 1 | cut -d':' -f10)"
16/usr/lib/gnupg/gpg-preset-passphrase --preset $KEYGRIP \ 25/usr/lib/gnupg/gpg-preset-passphrase --preset $KEYGRIP <<< "$(get_pass)"
17 <<< "$(keepassxc-cli show $XDG_CONFIG_HOME/keepassxc/Passwords.kdbx -a Password GPG)"
18 26
19# Open graphical KeePassXC with password stored in pass, now that pass can be accessed 27# Open graphical KeePassXC with password stored in pass, now that pass can be accessed
20# without entering credentials for the GPG key 28# without entering credentials for the GPG key