keys-admin.git

commit 37f5685a7077e7e43e9d4ee0f471b41dc049aee4

Author: Paolo Lulli <paolo@lulli.net>

Handle multiple profiles properly

 nyckel | 20 ++++++++++++++++++++


diff --git a/nyckel b/nyckel
index ea7c8c69f280cbfaf2dc826338ada366187aa56b..4a8a7126ae56608d786cb52f52afa65a1259358b 100755
--- a/nyckel
+++ b/nyckel
@@ -77,6 +77,20 @@
   keepassxc-cli add --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} -u ${entry_user} ${entry}  --password-prompt
 }
 
+add_random_secret(){
+  profile=$1
+  entry=$2
+  source "$CONFIG_DIR/$profile/config"
+
+  #echo "Secret Name"
+  #read entry
+
+  echo "Username"
+  read entry_user
+
+  keepassxc-cli add --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} -u ${entry_user} --generate ${entry}
+}
+
 show_secret(){
   profile=$1
   entry=$2
@@ -105,6 +119,7 @@   echo "${program} -C              : Create db "
   echo "${program} -L                       : List profiles"
   echo "${program} <profile> -l             : List keys in db <profile>"
   echo "${program} <profile> -W <secret>    : Write <secret> into <profile> db"
+  echo "${program} <profile> -G <secret>    : Generate a random secret and write as <secret> into <profile> db"
   echo "${program} <profile> -s <secret>    : Show <secret> from <profile> db"
   echo "${program} <profile> -c <secret>    : Copy to clipboard <secret> from <profile> db"
 }
@@ -149,6 +164,11 @@   profile_name=$1
   entryname=$3
   if [ "$2" == "-W" ]; then
     add_secret "${profile_name}" "${entryname}"
+    exit
+  fi
+
+  if [ "$2" == "-G" ]; then
+    add_random_secret "${profile_name}" "${entryname}"
     exit
   fi