Hi @ndessart,
I can install missions on the drone. However when I try to run mission.py
them, using Olympe as show in the documentation example, occurs this error Cryptodome.PublicKey.ECC.UnsupportedEccFeature: Unsupported ECC curve
, the output:
2023-02-16 16:56:04,613 [INFO] olympe.backend - _create_pomp_loop - Creating pomp loop
2023-02-16 16:56:04,613 [INFO] olympe.backend - _do_create - device callbacks have been added to arsdk_ctrl
2023-02-16 16:56:04,613 [INFO] olympe.scheduler - _create_pomp_loop - Creating pomp loop
2023-02-16 16:56:04,617 [INFO] olympe.media - _create_pomp_loop - Creating pomp loop
Traceback (most recent call last):
File "./run_mission.py", line 136, in <module>
test_hello_mission()
File "./run_mission.py", line 35, in test_hello_mission
with drone.mission.from_path(HELLO_MISSION_URL).open() as hello:
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/mission.py", line 451, in open
self._controller._open(
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/mission.py", line 305, in _open
mission.verify()
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/mission.py", line 504, in verify
if not self.signature.public_key.verify(final_hash, self.signature.signature):
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/mission.py", line 121, in public_key
return PublicKey.from_der(self.pub_key_der)
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/utils/crypto.py", line 186, in from_der
return cls.from_dict(data)
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/utils/crypto.py", line 171, in from_dict
return dacite.from_dict(cls, data, config=_dacite_config)
File "/home/jacob/.local/lib/python3.8/site-packages/dacite/core.py", line 87, in from_dict
return create_instance(data_class=data_class, init_values=init_values, post_init_values=post_init_values)
File "/home/jacob/.local/lib/python3.8/site-packages/dacite/dataclasses.py", line 25, in create_instance
instance = data_class(**init_values)
File "<string>", line 5, in __init__
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/utils/crypto.py", line 206, in __post_init__
self._pycrypto_key = self._import_key(self.as_der(), key_kind=self.kind)
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/utils/crypto.py", line 231, in _import_key
raise last_e
File "/home/jacob/.local/lib/python3.8/site-packages/olympe/utils/crypto.py", line 228, in _import_key
return key_type.import_key(pub_key_der)
File "/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py", line 901, in import_key
return _import_der(encoded, passphrase)
File "/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py", line 795, in _import_der
raise err
File "/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py", line 793, in _import_der
return _import_subjectPublicKeyInfo(encoded, passphrase)
File "/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py", line 717, in _import_subjectPublicKeyInfo
return _import_public_der(curve_oid, ec_point)
File "/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py", line 647, in _import_public_der
raise UnsupportedEccFeature("Unsupported ECC curve (OID: %s)" % curve_oid)
Cryptodome.PublicKey.ECC.UnsupportedEccFeature: Unsupported ECC curve (OID: 1.3.132.0.35)
2023-02-16 16:56:04,718 [INFO] olympe.media - _shutdown - olympe.media shutdown
2023-02-16 16:56:04,718 [INFO] olympe.media - _destroy_pomp_loop - Pomp loop has been destroyed: Thread-4
2023-02-16 16:56:04,719 [INFO] olympe.drone - _on_device_removed - <olympe.arsdkng.cmd_itf.DisconnectedEvent object at 0x7f96b55dd4f0>
2023-02-16 16:56:04,819 [INFO] olympe.scheduler - _destroy_pomp_loop - Pomp loop has been destroyed: subscribers_thread
2023-02-16 16:56:04,921 [INFO] olympe.backend - _destroy_pomp_loop - Pomp loop has been destroyed: Thread-3
Could it be caused by the new parrot-airsdk-cli
update?
Regards,
Jacob