-
Notifications
You must be signed in to change notification settings - Fork 53
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
ActivateCredential error on non-6.1.1 versions (Esys Finish ErrorCode (0x00000101)) #285
Comments
I'll try this out locally, hopefully today, to see if I can make sense of what's happening |
Are there some instructions somewhere on what to set up to get to that error? I've tried simply running the Keylime agent binary without any extra parameters, but got
EDIT: I also ran the tests in that repo, but they seemed to go well. |
Ah, yes, I think that makes sense as it would be trying to talk to the other Keylime components, which are housed in a separate repo. Apologies as we're still working to make this convenient to spin up. I have some instructions that I can try to make into a bash script here shortly. |
Alternatively, it may be more straightforward for me to try and make a "minimum viable" POC for this error, though this would take longer. |
The very short fix is to install and run the missing components: the Keylime server-side (Keylime verifier, Keylime registrar) as the agent will try to connect to these. This can be done by:
then run
while those are running, try running the Rust agent. There is a lot that can go wrong here, so if that does not work easily I want to help create some easier example. |
I made an attempt to reproduce the error with more minimal code here, which is based partially on our code and partially on the At least this gives a better starting point to see what's going wrong by comparing the minimal example to our actual code. I'll continue to investigate as time permits. Thanks for what you've done so far in checking this out. |
Interesting find: I was working on some other stuff related to
This makes me believe |
@ionut-arm That is very interesting, this is the same error. Any idea if the way |
Yes. Looking at the most recent spec for the commands which includes the code for them, for However... on line 40 of the code which follows that table you can see it being returned. The weird thing is, at least looking at the
My best guess, at least stemming from this theory that what's causing your error is a mangled |
Yes, let me give this a try. |
@ionut-arm Fascinating results: you are right, changing that one line to hold a value of |
yeah, ok, we really need to change that, I had some headaches because of it when making some changes for Parsec too... Will put up a PR. |
Mentioned in #277 while trying to test draft PR #281.
First noticed last month on Sept 29 and documented here.
System info: Running this on a Fedora 34 VM using swtpm with chardev.
I am getting this error while running code that uses the
tss-esapi
as a dependency. This error occurs when usingtss-esapi = "7.0.0-alpha.1"
in ourCargo.toml
or when trying to pin to any commit from GitHub, ex.tss-esapi = { git = "https://github.com/parallaxsecond/rust-tss-esapi.git", commit = "3e42b49f772f296150d0421998af1e8d55bb2478"}
(even pinning to commits older than Sept. 29). The error does not occur when usingtss-esapi = "6.1.1"
.I notice that when switching between
tss-esapi = "6.1.1"
as a dependency vs any other version or commit, some minor code changes are necessary in Keylime due to some reorganization and the newPublic
type in thetss-esapi
. Otherwise these compilation errors result:Once I resolve the compilation errors and I'm able to build using a
tss-esapi
version other than6.1.1
, I run the Keylime agent and get theActivateCredential
error.It is entirely possible that the error stems from my changes in Keylime not using the updated
tss-esapi
properly and I am still trying to investigate that. Unfortunately I'm under some time constraints so I'm not sure how far I can dive into it immediately. @ueno is pretty knowledgeable about the Rust Keylime codebase as well and may have ideas.@ionut-arm Regarding your question about the self-test, did you mean
tpm2_selftest
? This seems to succeed and values fromtpm2_pcrread
look normal also:The text was updated successfully, but these errors were encountered: