Comments (2)
That would be useful. We probably won't get to it for some time, but I'd be happy to review this PR.
from go-tpm-tools.
There are currently some things that prevent a clean implementation on my part.
This is mainly due to the session
parameter of the Key
struct, which is currently private.
In my fork, I simply set it to nullSession
, which looks like this:
func LoadCachedKey(rw io.ReadWriter, cachedHandle tpmutil.Handle) (k *Key, err error) {
cachedPub, _, _, err := tpm2.ReadPublic(rw, cachedHandle)
if err != nil {
return nil, fmt.Errorf("failed to read public area of cached key: %w", err)
}
k = &Key{
rw: rw,
handle: cachedHandle,
pubArea: cachedPub,
session: nullSession{}, // <- use nullSession for authentication
}
return k, k.finish()
}
Ideally we could just provide sessions
as a parameter to the function.
However, for this to be usable this would also require making (at least some) session implementations, e.g. nullSession
, and the interface public as well.
from go-tpm-tools.
Related Issues (20)
- Issue building on Ubuntu 2204 jammy HOT 3
- Can't do BootMeasurements with the activated key HOT 8
- Surface gceInstanceInfo extension attributes for GCE issued AK/EK HOT 4
- Comapre Public Keys HOT 1
- Invalid PCR selection during `key.Attest()`
- Fix server.VerifyAttestation with server.VerifyOpts HOT 1
- launcher: Don't defer os.Exit
- using simulator in other project does not fetch ms-tpm-20-ref HOT 1
- Not able to Extract SHA256 PCR Bank Values HOT 5
- Simulator checks wrong path for `openssl` with Homebrew on Apple Silicon macOS
- Support "TSS2 PRIVATE KEY" PEM files
- Support importing AES or HMAC keys HOT 1
- GetGCEInstanceInfo should return error if not found
- README.md and go.mod: the go version number error
- Allow persistence `client.Key()` HOT 1
- SigningKeyImportBlob to support duplication policy
- Support linux userspace eventlog HOT 1
- Preferred way to get raw hardware attestation?
- Follow up on the TODOs in PR #375 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-tpm-tools.