-
Notifications
You must be signed in to change notification settings - Fork 0
/
secureboot.sh
73 lines (63 loc) · 1.62 KB
/
secureboot.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
# Get the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Function to launch main.py
launch_a_genkey() {
python3 "$SCRIPT_DIR/lib/a_genkey.py"
}
# Function to launch add.py
launch_b_sign() {
python3 "$SCRIPT_DIR/lib/b_sign.py"
}
# Function to launch removesign.py
launch_c_rmsign() {
python3 "$SCRIPT_DIR/lib/c_rmsign.py"
}
# Function to launch verify.py
launch_d_verify() {
python3 "$SCRIPT_DIR/lib/d_verify.py"
}
# Main menu
while true; do
echo "Choose an option:"
echo "1. Generate keys (.auth, .cer, .crt, .esl & .key)"
echo "2. Signing systemd-boot with current keys (require option 1)"
echo "3. Remove .efi signature from current systemd-boot"
echo "4. Verify .efi signatures from current systemd-boot"
echo "5. Exit"
read -p "Enter your choice: " choice
case $choice in
1)
launch_a_genkey
;;
2)
launch_b_sign
;;
3)
launch_c_rmsign
;;
4)
launch_d_verify
;;
5)
exit
;;
*)
echo "Invalid choice. Please enter a number from 1 to 5."
;;
esac
# Ask user if they want to return to main menu or exit
read -p "Press 'm' to return to the main menu, 'q' to quit: " continue_choice
case $continue_choice in
[mM])
continue
;;
[qQ])
exit
;;
*)
echo "Invalid choice. Exiting."
exit
;;
esac
done