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}")