Firmware Key and Signature Formats
Jump to navigation
Jump to search
Key
=
key01 alg datalen data\n
3 2 1 3 1 3 1 N 1
So thats:
* the literal string "key" * the two digit version number ("01" for now) * a space * the three character algorithm name (for now this will always be
"rsa")
* a space * the three digit length for the key data * a space * the key data as a hex-encoded string * a newline
Signature
=
sig01 timestamp keyid datalen data\n
3 2 1 12 1 64 1 3 1 N 1
So thats:
* the literal string "sig" * the two digit version number ("01" for now) * a space * the 12 character timestamp (ex., "200708161735" -> 2007-07-08
16:17:35)
* a space * the 64 character key ID, as a hex-encoded SHA256 hash of the key
file (for the immediate future you can ignore this in the firmware, and just use a single key for each task.)
* a space * the three digit length for the signature data * a space * the signature data as a hex-encoded string * a newline