Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TPMv2 support #36

Open
dwmw2 opened this issue Jun 12, 2023 · 1 comment
Open

TPMv2 support #36

dwmw2 opened this issue Jun 12, 2023 · 1 comment

Comments

@dwmw2
Copy link
Contributor

dwmw2 commented Jun 12, 2023

Creating this RFE issue as a place to hang some implementation notes about TPMv2 support.

Firstly, please don't add any new user interface for this. Keys wrapped by TPMv2 come in the form of a PEM file which we should just detect and use automatically.

As a nudge in that general direction, I've implemented the detection in my pending PKCS#11 series (hard to untangle since the context includes the checks for pkcs11: URIs). fe7e06f

As for the implementation... I'm not sure what the state of TPM support in Go is.

https://github.com/google/go-tpm/ is probably the place to start? That's just the low-level TPM API support. Then there's https://github.com/google/go-tpm-tools which provides higher level interfaces, and I think it includes a Signer. I've filed google/go-tpm-tools#316 to request support for the standard PEM form; if we want to do this right then we might end up implementing that for them.

As noted in that RFE, we can use my OpenConnect C implementation as something to crib from.

@dwmw2
Copy link
Contributor Author

dwmw2 commented Jun 15, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant