@@ -22,36 +22,32 @@ import (
2222 "os"
2323 "testing"
2424
25+ "github.com/BitBoxSwiss/bitbox02-api-go/api/bootloader"
2526 bitbox02common "github.com/BitBoxSwiss/bitbox02-api-go/api/common"
2627 "github.com/stretchr/testify/require"
2728)
2829
29- func testHash (t * testing.T , info firmwareInfo , expectedMagic [] byte , hashFile string ) {
30+ func testHash (t * testing.T , info firmwareInfo , expectedProduct bitbox02common. Product , hashFile string ) {
3031 t .Helper ()
3132
32- const sigDataLen = 584
33- const magicLen = 4
34-
3533 signedBinary , err := info .signedBinary ()
3634 require .NoError (t , err )
37- require .True (t , len (signedBinary ) >= 4 + sigDataLen )
38- require .Equal (t , expectedMagic , signedBinary [:magicLen ])
39- hash := sha256 .Sum256 (signedBinary [magicLen + sigDataLen :])
35+ product , _ , binary , err := bootloader .ParseSignedFirmware (signedBinary )
36+ require .NoError (t , err )
37+ require .Equal (t , expectedProduct , product )
38+ hash := sha256 .Sum256 (binary )
4039 expectedHash , err := os .ReadFile (hashFile )
4140 require .NoError (t , err )
4241 require .Equal (t , string (expectedHash ), hex .EncodeToString (hash [:]))
4342}
4443
4544func TestBundledFirmware (t * testing.T ) {
46- magicMulti := []byte {0x65 , 0x3f , 0x36 , 0x2b }
47- magicBTCOnly := []byte {0x11 , 0x23 , 0x3b , 0x0b }
48-
4945 for _ , fw := range bundledFirmwares [bitbox02common .ProductBitBox02Multi ] {
50- testHash (t , fw , magicMulti , fmt .Sprintf ("assets/firmware.v%s.signed.bin.sha256" , fw .version ))
46+ testHash (t , fw , bitbox02common . ProductBitBox02Multi , fmt .Sprintf ("assets/firmware.v%s.signed.bin.sha256" , fw .version ))
5147 }
5248
5349 for _ , fw := range bundledFirmwares [bitbox02common .ProductBitBox02BTCOnly ] {
54- testHash (t , fw , magicBTCOnly , fmt .Sprintf ("assets/firmware-btc.v%s.signed.bin.sha256" , fw .version ))
50+ testHash (t , fw , bitbox02common . ProductBitBox02BTCOnly , fmt .Sprintf ("assets/firmware-btc.v%s.signed.bin.sha256" , fw .version ))
5551 }
5652}
5753
0 commit comments