1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-11 20:49:25 +01:00

[Huawei] Fix test

This commit is contained in:
Damien 'Psolyca' Gaignon 2024-02-05 20:18:00 +01:00
parent 21b97a9276
commit ef06fd4d5e
No known key found for this signature in database
GPG Key ID: 9E9404E5D9E11843

View File

@ -413,21 +413,23 @@ public class TestDeviceConfig {
HuaweiCrypto huaweiCrypto = new HuaweiCrypto(0x01); HuaweiCrypto huaweiCrypto = new HuaweiCrypto(0x01);
Field tlvField = HuaweiPacket.class.getDeclaredField("tlv"); Field tlvField = HuaweiPacket.class.getDeclaredField("tlv");
tlvField.setAccessible(true); tlvField.setAccessible(true);
try { try {
byte[] encryptionKey = huaweiCrypto.createSecretKey(mac);
byte[] iv = secretsProvider.getIv();
byte[] key = huaweiCrypto.encryptBondingKey(secretsProvider.getEncryptMethod(), secretsProvider.getSecretKey(), encryptionKey, iv);
HuaweiTLV expectedTlv = new HuaweiTLV() HuaweiTLV expectedTlv = new HuaweiTLV()
.put(0x01) .put(0x01)
.put(0x03, (byte) 0x00) .put(0x03, (byte) 0x00)
.put(0x05, clientSerial) .put(0x05, clientSerial)
.put(0x06, huaweiCrypto.encryptBondingKey(secretsProvider.getSecretKey(), mac, secretsProvider.getIv())) .put(0x06, key)
.put(0x07, secretsProvider.getIv()); .put(0x07, iv);
byte[] serialized = new byte[]{(byte) 0x5A, (byte) 0x00, (byte) 0x44, (byte) 0x00, (byte) 0x01, (byte) 0x0E, (byte) 0x01, (byte) 0x00, (byte) 0x03, (byte) 0x01, (byte) 0x00, (byte) 0x05, (byte) 0x06, (byte) 0x54, (byte) 0x56, (byte) 0x64, (byte) 0x54, (byte) 0x4D, (byte) 0x44, (byte) 0x06, (byte) 0x20, (byte) 0x88, (byte) 0x45, (byte) 0xAA, (byte) 0xB5, (byte) 0x9C, (byte) 0x84, (byte) 0x39, (byte) 0xAE, (byte) 0xD8, (byte) 0xE9, (byte) 0x71, (byte) 0x01, (byte) 0x5D, (byte) 0xC8, (byte) 0x34, (byte) 0x05, (byte) 0xC5, (byte) 0x9A, (byte) 0x6B, (byte) 0xDB, (byte) 0x62, (byte) 0x7D, (byte) 0xC8, (byte) 0xC3, (byte) 0xF4, (byte) 0xCC, (byte) 0x30, (byte) 0x74, (byte) 0x21, (byte) 0xD4, (byte) 0x45, (byte) 0x0E, (byte) 0x07, (byte) 0x10, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x72, (byte) 0xFC}; byte[] serialized = new byte[]{(byte) 0x5A, (byte) 0x00, (byte) 0x44, (byte) 0x00, (byte) 0x01, (byte) 0x0E, (byte) 0x01, (byte) 0x00, (byte) 0x03, (byte) 0x01, (byte) 0x00, (byte) 0x05, (byte) 0x06, (byte) 0x54, (byte) 0x56, (byte) 0x64, (byte) 0x54, (byte) 0x4D, (byte) 0x44, (byte) 0x06, (byte) 0x20, (byte) 0x88, (byte) 0x45, (byte) 0xAA, (byte) 0xB5, (byte) 0x9C, (byte) 0x84, (byte) 0x39, (byte) 0xAE, (byte) 0xD8, (byte) 0xE9, (byte) 0x71, (byte) 0x01, (byte) 0x5D, (byte) 0xC8, (byte) 0x34, (byte) 0x05, (byte) 0xC5, (byte) 0x9A, (byte) 0x6B, (byte) 0xDB, (byte) 0x62, (byte) 0x7D, (byte) 0xC8, (byte) 0xC3, (byte) 0xF4, (byte) 0xCC, (byte) 0x30, (byte) 0x74, (byte) 0x21, (byte) 0xD4, (byte) 0x45, (byte) 0x0E, (byte) 0x07, (byte) 0x10, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x72, (byte) 0xFC};
DeviceConfig.Bond.Request request = new DeviceConfig.Bond.Request( DeviceConfig.Bond.Request request = new DeviceConfig.Bond.Request(
secretsProvider, secretsProvider,
clientSerial, clientSerial,
mac, key,
huaweiCrypto iv
); );
Assert.assertEquals(0x01, request.serviceId); Assert.assertEquals(0x01, request.serviceId);
@ -489,8 +491,7 @@ public class TestDeviceConfig {
DeviceConfig.Auth.Request request = new DeviceConfig.Auth.Request( DeviceConfig.Auth.Request request = new DeviceConfig.Auth.Request(
secretsProvider, secretsProvider,
challenge, challenge,
nonce, nonce
false
); );
Assert.assertEquals(0x01, request.serviceId); Assert.assertEquals(0x01, request.serviceId);