def attest_platform()

in cvm-attestation/src/AttestationProvider.py [0:0]


  def attest_platform(self, evidence, runtime_data):
    """
    Verfies the Hardware Evidence provided by the Attester
    """

    try:
      headers = DEFAULT_HEADERS
      headers['x-api-key'] = self.api_key
      payload = self.create_payload(evidence, runtime_data)

      self.log.info("Sending attestation request to provider...")

      # Sends request to MAA for attesting the guest
      response = requests.post(
          self.endpoint,
          data=json.dumps(payload),
          headers=headers
      )

      # Check the response from the server
      if response.status_code == 200:
        self.log.info("Received token from attestation provider")
        response_json = json.loads(response.text)
        encoded_token = response_json['token']

        return encoded_token
      else:
        self.log.error(f"Failed to verify evidence, status code: {response.status_code}, error: {response.text}")
        raise ValueError(f"Unexpected status code: {response.status_code}, error: {response.text}")
    except RequestException as e:
      self.log.error(f"Request failed: {e}")
      raise SystemError(f"Request failed: {e}")