Add a check that a PE digital signature is valid throughout the complete chain
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
At present, when given a signed PE file, `retdec-fileinfo` is able to detect whether the actual hash of the file matches the one stored in the file (see `PeFormat::verifySignature()`). It would be useful to also detect whether the digital signature is valid throughout the complete chain, i.e. that the signer is who they claim to be (provided that you trust the root certificate).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with retdec-fileinfo and PeFormat::verifySignature(), which currently verify only that the PE file hash matches the embedded signature. Trace how signed PE certificates are read, then determine how to validate the complete signer chain against a trusted root; done means fileinfo reports whether the chain is valid, not only whether the file hash matches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100