diff options
| -rw-r--r-- | greenpass/certificate.py | 2 | ||||
| -rw-r--r-- | greenpass/verifier.py | 4 | ||||
| -rw-r--r-- | greenpass/verifiers/base.py | 6 | ||||
| -rw-r--r-- | greenpass/verifiers/eu.py | 8 | ||||
| -rw-r--r-- | greenpass/verifiers/il.py | 12 |
5 files changed, 23 insertions, 9 deletions
diff --git a/greenpass/certificate.py b/greenpass/certificate.py index 37d97d2..66b9d58 100644 --- a/greenpass/certificate.py +++ b/greenpass/certificate.py @@ -47,7 +47,7 @@ class CertificateData(object): def verify(self): # EU certs start with HC1 - if self.data.startswith("HC1"): + if self.data.startswith("HC1:"): return EuroVerifier(self.data) else: try: diff --git a/greenpass/verifier.py b/greenpass/verifier.py index abe6a4b..b5182e1 100644 --- a/greenpass/verifier.py +++ b/greenpass/verifier.py @@ -27,10 +27,6 @@ class GreenPassVerifier(object): self.ec_cert = self.get_cert_path("IL-NB-DSC-01.pem") self.rsa_cert = self.get_cert_path("RamzorQRPubKey.pem") - def validate_bytes(self, bs): - if bs.decode().startswith("GreenPass"): - raise Exception("Green pass QR code contains no signature to verify") - def validate_data(self): ct = self.data["ct"] if ct not in (1, 2): diff --git a/greenpass/verifiers/base.py b/greenpass/verifiers/base.py new file mode 100644 index 0000000..c8ccdf6 --- /dev/null +++ b/greenpass/verifiers/base.py @@ -0,0 +1,6 @@ +class Verifier(object): + def __init__(self, data): + self.data = data + + def verify(self): + raise NotImplementedError() diff --git a/greenpass/verifiers/eu.py b/greenpass/verifiers/eu.py index 20ac69e..2c89c2f 100644 --- a/greenpass/verifiers/eu.py +++ b/greenpass/verifiers/eu.py @@ -1,2 +1,6 @@ -class EuroVerifier(object): - pass +from .base import Verifier + + +class EuroVerifier(Verifier): + def verify(self): + return False diff --git a/greenpass/verifiers/il.py b/greenpass/verifiers/il.py index c221e91..c457944 100644 --- a/greenpass/verifiers/il.py +++ b/greenpass/verifiers/il.py @@ -1,2 +1,10 @@ -class IsraeliVerifier(object): - pass +from .base import Verifier + + +class IsraeliVerifier(Verifier): + def validate(self): + if not self.data.decode().startswith("GreenPass"): + raise Exception("Green pass QR code contains no signature to verify") + + def verify(self): + return False |
