feat(encryption): refactor encryption provider scripts, update KMS integration, and enhance key management

This commit is contained in:
2025-05-12 22:43:42 +02:00
parent 05d1624bdd
commit 15b07ea85d
19 changed files with 497 additions and 39 deletions
+11
View File
@@ -0,0 +1,11 @@
BINARY=read_system_id
.PHONY: all build clean
all: build
build:
go build -o $(BINARY) main.go
clean:
rm -f $(BINARY)
+79
View File
@@ -0,0 +1,79 @@
package main
import (
"bufio"
"crypto/md5"
"encoding/hex"
"fmt"
"io"
"os"
"os/exec"
"regexp"
"strings"
)
func getModelName() string {
file, err := os.Open("/proc/cpuinfo")
if err != nil {
return ""
}
defer file.Close()
scanner := bufio.NewScanner(file)
re := regexp.MustCompile(`^model name\s*:\s*(.*)$`)
for scanner.Scan() {
line := scanner.Text()
if matches := re.FindStringSubmatch(line); matches != nil {
return matches[1]
}
}
return ""
}
func getEth0Mac() string {
out, err := exec.Command("ip", "link").Output()
if err != nil {
return ""
}
re := regexp.MustCompile(`^(\d+):\s+([a-zA-Z0-9]+):.*<.*>\s+link/ether\s+([0-9a-f:]{17})`)
matches := re.FindAllStringSubmatch(string(out), -1)
fmt.Println("Matches:", matches)
if len(matches) == 0 {
return ""
}
first_device := matches[0][2]
fmt.Println("First device:", first_device)
// Get the MAC address of the first device
out, err = exec.Command("ip", "link", "show", first_device).Output()
if err != nil {
return ""
}
re = regexp.MustCompile(`ether\s+([0-9a-f:]{17})`)
match := re.FindStringSubmatch(string(out))
if match != nil {
return match[1]
}
return ""
}
func getSystemUUID() string {
out, err := exec.Command("sudo", "dmidecode", "-s", "system-uuid").Output()
if err != nil {
return ""
}
return strings.TrimSpace(string(out))
}
func md5sum(s string) string {
h := md5.New()
io.WriteString(h, s)
return hex.EncodeToString(h.Sum(nil))
}
func main() {
uuid := getModelName()
uuid += getEth0Mac()
uuid += getSystemUUID()
fmt.Println(uuid)
hash := md5sum(uuid)
fmt.Println(hash)
}
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
uuid=$(cat /proc/cpuinfo | grep 'model name' | head -1)
uuid+=$(ip link show wlo1 | grep ether | awk '{print $2}')
uuid+=$(sudo dmidecode -s system-uuid)
echo "UUID: $uuid"
echo -n "$uuid" | md5sum | awk '{print $1}'