In some crashlog files, there are additional pieces of information related to codesigning.
I can understand what most of themcorresponds to (ID, TeamID, Flags, Validation Category). But there is one I have some doubt about: Trust Level.
As far as I can tell (or at least what Google and other search engines say), this is an unsigned 32 bit integer that defines the trust level with -1 being untrusted, 0, being basically an Apple executable and other potential bigger values corresponding to App Store binaries, Developer ID signature, etc.
Yet, I'm not able to find a corresponding detailed documentation about this on Apple's developer website.
I also had a look at the LightweightCodeRequirements "include" file and there does not seem to be such a field available.
[Q] Is there any official documentation listing the different values for this trust level value and providing a clear description of what it corresponds to?
Is there any official documentation listing the different values for this trust level value and providing a clear description of what it corresponds to?
No. The canonical documentation for the JSON side of a crash report is Interpreting the JSON format of a crash report, and codeSigningTrustLevel is not listed there. I encourage you to file a bug against that doc.
Please post your bug number, just for the record.
If you want to dig into the implementation details, much of that is the Darwin open source. A good thread to pull on is TASK_CRASHINFO_CS_TRUST_LEVEL in the xnu project. However, that’s not the same as documentation, and hence my answer above.
I will note, however, that 4294967295 is 0xffffffff, which is the value of KCDATA_INVALID_CS_TRUST_LEVEL.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"