aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/sca/target/ectester.py
diff options
context:
space:
mode:
authorJ08nY2023-02-17 17:21:27 +0100
committerJ08nY2023-02-17 17:21:27 +0100
commit6cbb129e1f7dfa4d4ca248f2f246781433a4fc4d (patch)
tree8e6aed52e85b1075526ed2fcce0c9da422d07f83 /pyecsca/sca/target/ectester.py
parent9efa088d462899c94afd06fbad25003c403a6cee (diff)
downloadpyecsca-6cbb129e1f7dfa4d4ca248f2f246781433a4fc4d.tar.gz
pyecsca-6cbb129e1f7dfa4d4ca248f2f246781433a4fc4d.tar.zst
pyecsca-6cbb129e1f7dfa4d4ca248f2f246781433a4fc4d.zip
Add an import guard on LEIA code.
Fixes #29.
Diffstat (limited to 'pyecsca/sca/target/ectester.py')
-rw-r--r--pyecsca/sca/target/ectester.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/pyecsca/sca/target/ectester.py b/pyecsca/sca/target/ectester.py
index 74c4a95..f1a3639 100644
--- a/pyecsca/sca/target/ectester.py
+++ b/pyecsca/sca/target/ectester.py
@@ -10,8 +10,7 @@ from typing import Optional, Mapping, List, Union
from public import public
from .ISO7816 import CommandAPDU, ResponseAPDU, ISO7816, ISO7816Target, CardProtocol, CardConnectionException
-from .leia import LEIATarget
-from .PCSC import PCSCTarget
+from . import has_leia, has_pyscard
from ...ec.model import ShortWeierstrassModel
from ...ec.params import DomainParameters
from ...ec.point import Point
@@ -985,11 +984,16 @@ class ECTesterTarget(ISO7816Target, ABC): # pragma: no cover
return RunModeResponse(resp)
-@public
-class ECTesterTargetPCSC(ECTesterTarget, PCSCTarget):
- pass
+if has_pyscard:
+ from .PCSC import PCSCTarget
+ @public
+ class ECTesterTargetPCSC(ECTesterTarget, PCSCTarget):
+ pass
-@public
-class ECTesterTargetLEIA(ECTesterTarget, LEIATarget):
- pass
+if has_leia:
+ from .leia import LEIATarget
+
+ @public
+ class ECTesterTargetLEIA(ECTesterTarget, LEIATarget):
+ pass