diff --git a/agrirouter/onboarding/onboarding.py b/agrirouter/onboarding/onboarding.py index ad07b896..306dba00 100644 --- a/agrirouter/onboarding/onboarding.py +++ b/agrirouter/onboarding/onboarding.py @@ -34,16 +34,16 @@ def _perform_request(self, params: BaseOnboardingParameter, url: str) -> request if request.is_signed: return requests.post( url=request.get_url(), - json=request.get_data(), + data=request.get_body_content(), headers=request.get_header() ) raise RequestNotSigned - def verify(self, params: SoftwareOnboardingParameter) -> SoftwareOnboardingResponse: + def verify(self, params: SoftwareOnboardingParameter) -> SoftwareVerifyOnboardingResponse: url = self._environment.get_verify_onboard_request_url() http_response = self._perform_request(params=params, url=url) - return SoftwareOnboardingResponse(http_response) + return SoftwareVerifyOnboardingResponse(http_response) def onboard(self, params: SoftwareOnboardingParameter) -> SoftwareOnboardingResponse: url = self._environment.get_secured_onboard_url() @@ -70,11 +70,11 @@ def _create_request(self, params: CUOnboardingParameter, url: str) -> CUOnboardi def _perform_request(self, params: CUOnboardingParameter, url: str) -> requests.Response: request = self._create_request(params, url) - request.sign(self._private_key) + request.sign(self._private_key, self._public_key) if request.is_signed: return requests.post( url=request.get_url(), - data=request.get_data(), + data=request.get_body_content(), headers=request.get_header() ) raise RequestNotSigned diff --git a/agrirouter/onboarding/request.py b/agrirouter/onboarding/request.py index e02e0ec7..c39d9d7a 100644 --- a/agrirouter/onboarding/request.py +++ b/agrirouter/onboarding/request.py @@ -18,8 +18,11 @@ def get_data(self): def get_header(self): return self.header.get_header() + def get_body_content(self): + return self.body.json().replace("\n", "") + def sign(self, private_key, public_key): - body = self.body.json().replace("\n", "") + body = self.get_body_content() signature = create_signature(body, private_key) verify_signature(body, bytes.fromhex(signature), public_key) self.header.sign(signature) diff --git a/agrirouter/onboarding/request_body.py b/agrirouter/onboarding/request_body.py index 951ab01d..045c46a8 100644 --- a/agrirouter/onboarding/request_body.py +++ b/agrirouter/onboarding/request_body.py @@ -75,7 +75,7 @@ def _set_params(self, } def json(self) -> str: - return json.dumps(self.get_parameters()) + return json.dumps(self.get_parameters(), separators=(',', ':')) @staticmethod def _validate_certificate_type(certificate_type: str) -> None: diff --git a/agrirouter/revoking/request.py b/agrirouter/revoking/request.py index d45b7787..cb8605fa 100644 --- a/agrirouter/revoking/request.py +++ b/agrirouter/revoking/request.py @@ -28,10 +28,3 @@ def is_signed(self) -> bool: if header_has_signature: return True return False - - @property - def is_valid(self) -> bool: - if not self.is_signed: - return False - signature = self.get_header().get("X-Agrirouter-Signature") - # return validate_signature(signature)