From 6bcd031b5b8e755cb10b1b493191473f47e5e550 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sat, 5 Jul 2025 15:24:20 +0800 Subject: [PATCH] feat: add go tpm rand --- go-tpm-rand/go.mod | 7 +++++++ go-tpm-rand/go.sum | 4 ++++ go-tpm-rand/main.go | 24 ++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 go-tpm-rand/go.mod create mode 100644 go-tpm-rand/go.sum create mode 100644 go-tpm-rand/main.go diff --git a/go-tpm-rand/go.mod b/go-tpm-rand/go.mod new file mode 100644 index 0000000..4a59043 --- /dev/null +++ b/go-tpm-rand/go.mod @@ -0,0 +1,7 @@ +module git.hatter.ink/go-tpm-rand + +go 1.24.3 + +require github.com/google/go-tpm v0.9.5 + +require golang.org/x/sys v0.8.0 // indirect diff --git a/go-tpm-rand/go.sum b/go-tpm-rand/go.sum new file mode 100644 index 0000000..8ba003d --- /dev/null +++ b/go-tpm-rand/go.sum @@ -0,0 +1,4 @@ +github.com/google/go-tpm v0.9.5 h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU= +github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/go-tpm-rand/main.go b/go-tpm-rand/main.go new file mode 100644 index 0000000..24f5b6c --- /dev/null +++ b/go-tpm-rand/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "log" + "os" + + "github.com/google/go-tpm/legacy/tpm2" +) + +// reference: https://ericchiang.github.io/post/tpm-keys/ +func main() { + f, err := os.OpenFile("/dev/tpmrm0", os.O_RDWR, 0) + if err != nil { + log.Fatalf("opening tpm: %v", err) + } + defer f.Close() + + out, err := tpm2.GetRandom(f, 16) + if err != nil { + log.Fatalf("getting random bytes: %v", err) + } + fmt.Printf("%x\n", out) +}