mirror of
https://github.com/espressif/openthread.git
synced 2026-08-26 04:09:52 +00:00
[network-key] change name from master to network (#6721)
This commit is contained in:
@@ -995,29 +995,29 @@ class OpenThreadTHCI(object):
|
||||
|
||||
@API
|
||||
def setNetworkKey(self, key):
|
||||
"""set Thread Network master key
|
||||
"""set Thread network key
|
||||
|
||||
Args:
|
||||
key: Thread Network master key used in secure the MLE/802.15.4 packet
|
||||
key: Thread network key used in secure the MLE/802.15.4 packet
|
||||
|
||||
Returns:
|
||||
True: successful to set the Thread Network master key
|
||||
False: fail to set the Thread Network master key
|
||||
True: successful to set the Thread network key
|
||||
False: fail to set the Thread network key
|
||||
"""
|
||||
masterKey = ''
|
||||
networkKey = ''
|
||||
print('%s call setNetworkKey' % self)
|
||||
print(key)
|
||||
try:
|
||||
if not isinstance(key, str):
|
||||
masterKey = self.__convertLongToHex(key, 32)
|
||||
cmd = 'masterkey %s' % masterKey
|
||||
datasetCmd = 'dataset masterkey %s' % masterKey
|
||||
networkKey = self.__convertLongToHex(key, 32)
|
||||
cmd = 'networkkey %s' % networkKey
|
||||
datasetCmd = 'dataset networkkey %s' % networkKey
|
||||
else:
|
||||
masterKey = key
|
||||
cmd = 'masterkey %s' % masterKey
|
||||
datasetCmd = 'dataset masterkey %s' % masterKey
|
||||
networkKey = key
|
||||
cmd = 'networkkey %s' % networkKey
|
||||
datasetCmd = 'dataset networkkey %s' % networkKey
|
||||
|
||||
self.networkKey = masterKey
|
||||
self.networkKey = networkKey
|
||||
self.hasActiveDatasetToCommit = True
|
||||
return self.__executeCommand(cmd)[-1] == 'Done' and self.__executeCommand(datasetCmd)[-1] == 'Done'
|
||||
except Exception as e:
|
||||
@@ -1811,7 +1811,7 @@ class OpenThreadTHCI(object):
|
||||
|
||||
@API
|
||||
def setKeySequenceCounter(self, iKeySequenceValue):
|
||||
""" set the Key sequence counter corresponding to Thread Network master key
|
||||
""" set the Key sequence counter corresponding to Thread network key
|
||||
|
||||
Args:
|
||||
iKeySequenceValue: key sequence value
|
||||
@@ -2656,7 +2656,7 @@ class OpenThreadTHCI(object):
|
||||
cmd += str(sMeshLocalPrefix)
|
||||
|
||||
if xMasterKey is not None:
|
||||
cmd += ' masterkey '
|
||||
cmd += ' networkkey '
|
||||
key = self.__convertLongToHex(xMasterKey, 32)
|
||||
|
||||
cmd += key
|
||||
@@ -2833,7 +2833,7 @@ class OpenThreadTHCI(object):
|
||||
cmd += str(xPanId)
|
||||
|
||||
if xMasterKey is not None:
|
||||
cmd += ' masterkey '
|
||||
cmd += ' networkkey '
|
||||
key = self.__convertLongToHex(xMasterKey, 32)
|
||||
|
||||
cmd += key
|
||||
|
||||
@@ -993,29 +993,29 @@ class OpenThread_WpanCtl(IThci):
|
||||
return globalAddrs
|
||||
|
||||
def setNetworkKey(self, key):
|
||||
"""set Thread Network master key
|
||||
"""set Thread network key
|
||||
|
||||
Args:
|
||||
key: Thread Network master key used in secure the MLE/802.15.4 packet
|
||||
key: Thread network key used in secure the MLE/802.15.4 packet
|
||||
|
||||
Returns:
|
||||
True: successful to set the Thread Network master key
|
||||
False: fail to set the Thread Network master key
|
||||
True: successful to set the Thread network key
|
||||
False: fail to set the Thread network key
|
||||
"""
|
||||
masterKey = ''
|
||||
networkKey = ''
|
||||
print('%s call setNetworkKey' % self.port)
|
||||
|
||||
try:
|
||||
if not isinstance(key, str):
|
||||
masterKey = self.__convertLongToHex(key, 32)
|
||||
cmd = self.wpan_cmd_prefix + 'setprop Network:Key %s' % masterKey
|
||||
datasetCmd = self.wpan_cmd_prefix + 'setprop Dataset:MasterKey %s' % masterKey
|
||||
networkKey = self.__convertLongToHex(key, 32)
|
||||
cmd = self.wpan_cmd_prefix + 'setprop Network:Key %s' % networkKey
|
||||
datasetCmd = self.wpan_cmd_prefix + 'setprop Dataset:NetworkKey %s' % networkKey
|
||||
else:
|
||||
masterKey = key
|
||||
cmd = self.wpan_cmd_prefix + 'setprop Network:Key %s' % masterKey
|
||||
datasetCmd = self.wpan_cmd_prefix + 'setprop Dataset:MasterKey %s' % masterKey
|
||||
networkKey = key
|
||||
cmd = self.wpan_cmd_prefix + 'setprop Network:Key %s' % networkKey
|
||||
datasetCmd = self.wpan_cmd_prefix + 'setprop Dataset:NetworkKey %s' % networkKey
|
||||
|
||||
self.networkKey = masterKey
|
||||
self.networkKey = networkKey
|
||||
self.hasActiveDatasetToCommit = True
|
||||
return self.__sendCommand(cmd)[0] != 'Fail' and self.__sendCommand(datasetCmd)[0] != 'Fail'
|
||||
except Exception as e:
|
||||
@@ -1705,7 +1705,7 @@ class OpenThread_WpanCtl(IThci):
|
||||
ModuleHelper.WriteIntoDebugLogger('setKeepAliveTimeOut() Error: ' + str(e))
|
||||
|
||||
def setKeySequenceCounter(self, iKeySequenceValue):
|
||||
""" set the Key sequence counter corresponding to Thread Network master key
|
||||
""" set the Key sequence counter corresponding to Thread network key
|
||||
|
||||
Args:
|
||||
iKeySequenceValue: key sequence value
|
||||
@@ -2347,8 +2347,8 @@ class OpenThread_WpanCtl(IThci):
|
||||
|
||||
if xMasterKey is not None:
|
||||
key = self.__convertLongToHex(xMasterKey, 32)
|
||||
setMasterKeyCmd = self.wpan_cmd_prefix + 'setprop Dataset:MasterKey ' + key
|
||||
if self.__sendCommand(setMasterKeyCmd)[0] == 'Fail':
|
||||
setNetworkKeyCmd = self.wpan_cmd_prefix + 'setprop Dataset:NetworkKey ' + key
|
||||
if self.__sendCommand(setNetworkKeyCmd)[0] == 'Fail':
|
||||
return False
|
||||
|
||||
if xPanId is not None:
|
||||
@@ -2543,8 +2543,8 @@ class OpenThread_WpanCtl(IThci):
|
||||
|
||||
if xMasterKey is not None:
|
||||
key = self.__convertLongToHex(xMasterKey, 32)
|
||||
setMasterKeyCmd = self.wpan_cmd_prefix + 'setprop Dataset:MasterKey ' + key
|
||||
if self.__sendCommand(setMasterKeyCmd)[0] == 'Fail':
|
||||
setNetworkKeyCmd = self.wpan_cmd_prefix + 'setprop Dataset:NetworkKey ' + key
|
||||
if self.__sendCommand(setNetworkKeyCmd)[0] == 'Fail':
|
||||
return False
|
||||
|
||||
if xPanId is not None:
|
||||
|
||||
@@ -24,7 +24,7 @@ node2 = otci.connect_cli_serial("/dev/ttyACM0"))
|
||||
|
||||
# Start node1 to become Leader
|
||||
node1.dataset_init_buffer()
|
||||
node1.dataset_set_buffer(network_name='test', master_key='00112233445566778899aabbccddeeff', panid=0xface, channel=11)
|
||||
node1.dataset_set_buffer(network_name='test', network_key='00112233445566778899aabbccddeeff', panid=0xface, channel=11)
|
||||
node1.dataset_commit_buffer('active')
|
||||
|
||||
node1.ifconfig_up()
|
||||
|
||||
+21
-21
@@ -362,14 +362,14 @@ class OTCI(object):
|
||||
"""Get network name."""
|
||||
return self.__parse_str(self.execute_command('networkname'))
|
||||
|
||||
def get_master_key(self) -> str:
|
||||
"""Get the network master key."""
|
||||
return self.__parse_master_key(self.execute_command('masterkey'))
|
||||
def get_network_key(self) -> str:
|
||||
"""Get the network network key."""
|
||||
return self.__parse_network_key(self.execute_command('networkkey'))
|
||||
|
||||
def set_master_key(self, masterkey: str):
|
||||
"""Set the network master key."""
|
||||
self.__validate_master_key(masterkey)
|
||||
self.execute_command(f'masterkey {masterkey}')
|
||||
def set_network_key(self, networkkey: str):
|
||||
"""Set the network network key."""
|
||||
self.__validate_network_key(networkkey)
|
||||
self.execute_command(f'networkkey {networkkey}')
|
||||
|
||||
def get_key_sequence_counter(self) -> int:
|
||||
"""Get the Thread Key Sequence Counter."""
|
||||
@@ -1652,7 +1652,7 @@ class OTCI(object):
|
||||
# Channel Mask: 0x07fff800
|
||||
# Ext PAN ID: 5c93ae980ff22d35
|
||||
# Mesh Local Prefix: fdc7:55fe:6363:bd01::/64
|
||||
# Master Key: d1a8348d59fb1fac1d6c4f95007d487a
|
||||
# Network Key: d1a8348d59fb1fac1d6c4f95007d487a
|
||||
# Network Name: OpenThread-7caa
|
||||
# PAN ID: 0x7caa
|
||||
# PSKc: 167d89fd169e439ca0b8266de248090f
|
||||
@@ -1674,8 +1674,8 @@ class OTCI(object):
|
||||
dataset['extpanid'] = val
|
||||
elif key == 'Mesh Local Prefix':
|
||||
dataset['mesh_local_prefix'] = val
|
||||
elif key == 'Master Key':
|
||||
dataset['masterkey'] = val
|
||||
elif key == 'Network Key':
|
||||
dataset['networkkey'] = val
|
||||
elif key == 'Network Name':
|
||||
dataset['network_name'] = val
|
||||
elif key == 'PAN ID':
|
||||
@@ -1706,7 +1706,7 @@ class OTCI(object):
|
||||
channel_mask: int = None,
|
||||
extpanid: str = None,
|
||||
mesh_local_prefix: str = None,
|
||||
master_key: str = None,
|
||||
network_key: str = None,
|
||||
network_name: str = None,
|
||||
panid: int = None,
|
||||
pskc: str = None,
|
||||
@@ -1727,8 +1727,8 @@ class OTCI(object):
|
||||
if mesh_local_prefix is not None:
|
||||
self.execute_command(f'dataset meshlocalprefix {mesh_local_prefix}')
|
||||
|
||||
if master_key is not None:
|
||||
self.execute_command(f'dataset masterkey {master_key}')
|
||||
if network_key is not None:
|
||||
self.execute_command(f'dataset networkkey {network_key}')
|
||||
|
||||
if network_name is not None:
|
||||
self.execute_command(f'dataset networkname {self.__escape_escapable(network_name)}')
|
||||
@@ -2261,21 +2261,21 @@ class OTCI(object):
|
||||
|
||||
return int(output[0], base)
|
||||
|
||||
def __parse_master_key(self, output: List[str]) -> str:
|
||||
masterkey = self.__parse_str(output)
|
||||
def __parse_network_key(self, output: List[str]) -> str:
|
||||
networkkey = self.__parse_str(output)
|
||||
|
||||
try:
|
||||
self.__validate_master_key(masterkey)
|
||||
self.__validate_network_key(networkkey)
|
||||
except ValueError:
|
||||
raise UnexpectedCommandOutput(output)
|
||||
|
||||
return masterkey
|
||||
return networkkey
|
||||
|
||||
def __validate_master_key(self, masterkey: str):
|
||||
if len(masterkey) != 32:
|
||||
raise ValueError(masterkey)
|
||||
def __validate_network_key(self, networkkey: str):
|
||||
if len(networkkey) != 32:
|
||||
raise ValueError(networkkey)
|
||||
|
||||
int(masterkey, 16)
|
||||
int(networkkey, 16)
|
||||
|
||||
def __parse_hex64b(self, output: List[str]) -> str:
|
||||
extaddr = self.__parse_str(output)
|
||||
|
||||
@@ -42,7 +42,7 @@ logging.basicConfig(level=logging.DEBUG)
|
||||
TEST_CHANNEL = 22
|
||||
TEST_NETWORK_NAME = 'OT CI'
|
||||
TEST_PANID = 0xeeee
|
||||
TEST_MASTERKEY = 'ffeeddccbbaa99887766554433221100'
|
||||
TEST_NETWORKKEY = 'ffeeddccbbaa99887766554433221100'
|
||||
|
||||
REAL_DEVICE = int(os.getenv('REAL_DEVICE', '0'))
|
||||
|
||||
@@ -130,7 +130,7 @@ class TestOTCI(unittest.TestCase):
|
||||
|
||||
logging.info('leader eui64 = %r', leader.get_eui64())
|
||||
logging.info('leader extpanid = %r', leader.get_extpanid())
|
||||
logging.info('leader masterkey = %r', leader.get_master_key())
|
||||
logging.info('leader networkkey = %r', leader.get_network_key())
|
||||
|
||||
extaddr = leader.get_extaddr()
|
||||
self.assertEqual(16, len(extaddr))
|
||||
@@ -141,8 +141,8 @@ class TestOTCI(unittest.TestCase):
|
||||
|
||||
leader.set_network_name(TEST_NETWORK_NAME)
|
||||
|
||||
leader.set_master_key(TEST_MASTERKEY)
|
||||
self.assertEqual(TEST_MASTERKEY, leader.get_master_key())
|
||||
leader.set_network_key(TEST_NETWORKKEY)
|
||||
self.assertEqual(TEST_NETWORKKEY, leader.get_network_key())
|
||||
|
||||
leader.set_panid(TEST_PANID)
|
||||
self.assertEqual(TEST_PANID, leader.get_panid())
|
||||
@@ -507,7 +507,7 @@ class TestOTCI(unittest.TestCase):
|
||||
def _test_otci_example(self, node1, node2):
|
||||
node1.dataset_init_buffer()
|
||||
node1.dataset_set_buffer(network_name='test',
|
||||
master_key='00112233445566778899aabbccddeeff',
|
||||
network_key='00112233445566778899aabbccddeeff',
|
||||
panid=0xface,
|
||||
channel=11)
|
||||
node1.dataset_commit_buffer('active')
|
||||
@@ -540,7 +540,7 @@ class TestOTCI(unittest.TestCase):
|
||||
|
||||
logging.info('leader eui64 = %r', leader.get_eui64())
|
||||
logging.info('leader extpanid = %r', leader.get_extpanid())
|
||||
logging.info('leader masterkey = %r', leader.get_master_key())
|
||||
logging.info('leader networkkey = %r', leader.get_network_key())
|
||||
|
||||
extaddr = leader.get_extaddr()
|
||||
self.assertEqual(16, len(extaddr))
|
||||
@@ -551,8 +551,8 @@ class TestOTCI(unittest.TestCase):
|
||||
|
||||
leader.set_network_name(TEST_NETWORK_NAME)
|
||||
|
||||
leader.set_master_key(TEST_MASTERKEY)
|
||||
self.assertEqual(TEST_MASTERKEY, leader.get_master_key())
|
||||
leader.set_network_key(TEST_NETWORKKEY)
|
||||
self.assertEqual(TEST_NETWORKKEY, leader.get_network_key())
|
||||
|
||||
leader.set_panid(TEST_PANID)
|
||||
self.assertEqual(TEST_PANID, leader.get_panid())
|
||||
@@ -579,7 +579,7 @@ class TestOTCI(unittest.TestCase):
|
||||
commissioner.set_panid(TEST_PANID)
|
||||
commissioner.set_network_name(TEST_NETWORK_NAME)
|
||||
commissioner.set_router_selection_jitter(1)
|
||||
commissioner.set_master_key(TEST_MASTERKEY)
|
||||
commissioner.set_network_key(TEST_NETWORKKEY)
|
||||
commissioner.thread_start()
|
||||
|
||||
commissioner.wait(5)
|
||||
|
||||
Reference in New Issue
Block a user