tpm-helpers/tpm_nv.go
2023-01-18 15:45:17 +01:00

44 lines
743 B
Go

package tpm
import (
"github.com/folbricht/tpmk"
)
func StoreBlob(blob []byte, opts ...TPMOption) error {
o, err := DefaultTPMOption(opts...)
if err != nil {
return err
}
// Open device or simulator
dev, err := getTPMDevice(o)
if err != nil {
return err
}
if !o.emulated {
defer dev.Close()
}
// Write to the index
return tpmk.NVWrite(dev, o.index, blob, o.password, o.nvAttr)
}
func ReadBlob(opts ...TPMOption) ([]byte, error) {
o, err := DefaultTPMOption(opts...)
if err != nil {
return []byte{}, err
}
// Open device or simulator
dev, err := getTPMDevice(o)
if err != nil {
return []byte{}, err
}
if !o.emulated {
defer dev.Close()
}
// Read the data
return tpmk.NVRead(dev, o.index, o.password)
}