2025-05-02 11:01:13 -07:00
|
|
|
// Copyright (c) Tailscale Inc & AUTHORS
|
|
|
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
|
|
|
|
|
|
package tpm
|
|
|
|
|
|
|
|
|
|
import (
|
2025-11-26 12:35:24 -06:00
|
|
|
"errors"
|
|
|
|
|
|
2025-06-18 14:17:12 -07:00
|
|
|
"github.com/google/go-tpm/tpm2/transport"
|
2025-05-02 11:01:13 -07:00
|
|
|
"github.com/google/go-tpm/tpm2/transport/linuxtpm"
|
|
|
|
|
)
|
|
|
|
|
|
2025-06-18 14:17:12 -07:00
|
|
|
func open() (transport.TPMCloser, error) {
|
2025-07-18 10:17:40 -07:00
|
|
|
tpm, err := linuxtpm.Open("/dev/tpmrm0")
|
|
|
|
|
if err == nil {
|
|
|
|
|
return tpm, nil
|
|
|
|
|
}
|
2025-11-26 12:35:24 -06:00
|
|
|
errs := []error{err}
|
|
|
|
|
tpm, err = linuxtpm.Open("/dev/tpm0")
|
|
|
|
|
if err == nil {
|
|
|
|
|
return tpm, nil
|
|
|
|
|
}
|
|
|
|
|
return nil, errors.Join(errs...)
|
2025-05-02 11:01:13 -07:00
|
|
|
}
|