Software Update:MAR: Difference between revisions

no edit summary
No edit summary
Line 33: Line 33:
   1 byte  : null terminator
   1 byte  : null terminator


Some old MAR files will not contain the SIGNATURE block nor the HEADER.FileSize field.  Old parsers simply skip over these fields because they ignore everything between the MAR header and the offset given in the HEADER.OffsetToIndex field.
Some old MAR files will not contain the SIGNATURE block nor the HEADER.FileSize field.  Old parsers simply skip over these fields because they ignore everything between the MAR header and the offset given in the `HEADER.OffsetToIndex` field.


== SIGNATURE blocks ==
== SIGNATURE blocks ==


Zero or more SIGNATURE_ENTRYs can be specified.   
Zero or more SIGNATURE_ENTRYs can be specified.   
The signatures must be composed of all bytes of the MAR file excluding the SIGNATURE_ENTRY.Signature fields.
The signatures must be composed of all bytes of the MAR file excluding the `SIGNATURE_ENTRY.Signature` fields.
Each contained SIGNATURE_ENTRY.Signature must be of type SIGNATURE_ENTRY.SignatureAlgorithmID.
Each contained `SIGNATURE_ENTRY.Signature` must be of type `SIGNATURE_ENTRY.SignatureAlgorithmID`.


== SIGNATURE_ENTRY.SignatureAlgorithmID  ==
== SIGNATURE_ENTRY.SignatureAlgorithmID  ==
Line 46: Line 46:


The updater will only accept the MAR file if at least one of the signatures verifies.
The updater will only accept the MAR file if at least one of the signatures verifies.
Some versions of the updater may not apply a MAR file unless a valid signature of a particular SIGNATURE_ENTRY.SignatureAlgorithmID is included in the MAR file.
Some versions of the updater may not apply a MAR file unless a valid signature of a particular `SIGNATURE_ENTRY.SignatureAlgorithmID` is included in the MAR file.


As of Firefox 10, only RSA-PKCS1-SHA1 signatures are accepted.
As of Firefox 10, only RSA-PKCS1-SHA1 signatures are accepted.
Confirmed users
394

edits