keylime / keylime-docs

Keylime Documentary Repository
https://keylime-docs.readthedocs.io/en/latest/
Apache License 2.0
3 stars 16 forks source link

Complete REST API documentation #77

Open ansasaki opened 2 years ago

ansasaki commented 2 years ago

Some changes to the API were not reflected to the documentation and/or the documentation is missing the description of some fields.

For example: in the cloud agent API documentation, the description for the response to a GET request to /v2.0/quotes/integrity does not include some fields like hash_alg, enc_alg, sign_alg, or pubkey. Also, the example response does not include some of the fields described below it, like ima_measurement_list, ima_measurement_list_entry, and mb_measurement_list. The description of some fields are insufficient to determine the expected format.

THS-on commented 2 years ago

@ansasaki thanks for catching that. I thought I fixed all of them, but this is clearly not the case. If you find a description insufficient can list the entry here, so that I can add a better description?

@mpeters can you assign this to me?

ansasaki commented 2 years ago

Some entries that I find insufficient are:

In agent's /v2.0/quotes/identity response specification:

"hash_alg"
"enc_alg"
"sign_alg"
"pubkey"

Specification for the format and accepted values for the fields above are missing.

In agent's /v2.0/quotes/integrity response specification:

"quote"
"hash_alg"
"enc_alg"
"sign_alg"
"pubkey"

Specification for the format and accepted values for the fields above are missing.

ima_measurement_list (string) – (optional) IMA entry list. Is included if IMA_PCR (10) is included in the mask
mb_measurement_list (string) – (optional) UEFI Eventlog list base64 encoded. Is included if PCR 0 is included in the mask

There is no specification for the format of the entries in these lists. It should at least provide an example of a valid entry.

ima_measurement_list_entry (string) – (optional) Starting line offset of the IMA entry list returned

The expected value is also an integer and not a string.