Opened 12 days ago

Last modified 12 days ago

#32895 new defect

Improve marsigning_check.sh script to deal better with non-reproducible, signed macOS mar files

Reported by: gk Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-sign
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Our current mar-signing check script does two things:

1) It checks whether the SHA-256 sum from the signed .mar file is the same one as from the unsigned one and returns an error if so.

2) It strips the signature and compares the SHA-256 sum of the resulting .mar file with the unsigned one.

Step 2) essentially tries to do 2 checks in one: a) that there is a proper signature that can get stripped and b) that the resulting .mar file is the same as the unsigned one. That's cool in theory as we want to have both checks but it has a number of issues in practice. The most important ones are:

i) The script fails the mar-signing check for macOS as the stripping the signatures from those files does not give us the unsigned .mar due to the content signing

ii) It's not clear we signed actually with the right key (although that is in practice not much of an issue) or whether the signature verifies later on (which is actually what we want to know).

Child Tickets

Change History (1)

comment:1 Changed 12 days ago by gk

I guess what we could do here is to point to the cert which got supposedly used (like we point to the SIGNMAR binary) and the nickname and then do the actual verification + we make the output for 2a) and 2b) separate.

Note: See TracTickets for help on using tickets.