rustdesk-installer/bin/gen-keys.sh

38 lines
1007 B
Bash
Raw Normal View History

2023-06-03 16:02:38 +03:00
#!/usr/bin/env bash
public_key="/opt/rustdesk/id_ed25519.pub"
private_key="/opt/rustdesk/id_ed25519"
function genNewKeys() {
echo "Generatiing a new key pair"
KEY_PAIR=$(/opt/rustdesk/rustdesk-utils genkeypair )
PUBLIC_KEY=$(echo "${KEY_PAIR}"|head -1 |awk '{print $3}')
PRIVATE_KEY=$(echo "${KEY_PAIR}"|tail -1 |awk '{print $3}')
echo -n "${PUBLIC_KEY}" > "${public_key}"
echo -n "${PRIVATE_KEY}" > "${private_key}"
}
function validateNewKeys() {
PUBLIC_KEY=$(cat "${public_key}" 2>/dev/null)
PRIVATE_KEY=$(cat "${private_key}" 2>/dev/null )
/opt/rustdesk/rustdesk-utils validatekeypair "${PUBLIC_KEY}" "${PRIVATE_KEY}"
}
stat "${public_key}" >/dev/null 2>&1
stat "${private_key}" >/dev/null 2>&1
valid_key_pair="0"
while [[ "$valid_key_pair" != "1" ]]; do
validateNewKeys | grep "^Key pair is VALID" >/dev/null
if [ "$?" -eq "0" ];then
echo "Foudn the keys to be VALID"
valid_key_pair="1"
else
echo "Found the keys to be invalid"
valid_key_pair="0"
genNewKeys
fi
done