mirror of
https://github.com/kairos-io/tpm-helpers.git
synced 2025-09-12 21:04:56 +00:00
Add backends and simulated TPM device
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
This commit is contained in:
54
tpm_test.go
Normal file
54
tpm_test.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package tpm_test
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
. "github.com/onsi/gomega"
|
||||
. "github.com/rancher-sandbox/go-tpm"
|
||||
. "github.com/rancher-sandbox/go-tpm/backend"
|
||||
)
|
||||
|
||||
// In order to run this suite a swtpm socket is required. e.g.:
|
||||
// swtpm socket --server type=unixio,path=/tmp/tpm-server --ctrl type=unixio,path=/tmp/tpm-ctrl --tpm2
|
||||
// SWTPM_SOCKET=/tmp/tpm-ctrl ginkgo -r ./
|
||||
|
||||
var _ = Describe("TPM with SWTPM", func() {
|
||||
socket := os.Getenv("SWTPM_SOCKET")
|
||||
Context("opening socket connection", func() {
|
||||
// Note, this doesn't work
|
||||
PIt("dials in just fine", func() {
|
||||
if socket == "" {
|
||||
Skip("No socket file specified")
|
||||
}
|
||||
|
||||
b, err := Socket(socket)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
str, err := GetPubHash(WithCommandChannel(b))
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
Expect(str).ToNot(BeEmpty())
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
var _ = Describe("Simulated TPM", func() {
|
||||
Context("opening socket connection", func() {
|
||||
It("dials in just fine", func() {
|
||||
str, err := GetPubHash(Emulated)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(str).ToNot(BeEmpty())
|
||||
})
|
||||
})
|
||||
|
||||
Context("specifying a seed", func() {
|
||||
It("same pubkey with same seed", func() {
|
||||
str, err := GetPubHash(Emulated, WithSeed(1))
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
str2, err := GetPubHash(Emulated, WithSeed(1))
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(str).To(Equal(str2))
|
||||
})
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user