API

STaaS provides an API that can be used for signing files.

Authorization

In order to access STaaS API you need to obtain an authorization token. This can be obtained by pressing the API tokens button. The generated token should be included in all requests an Authorization header. Here is an example of a python script that uses an API token

headers = {
    'Authorization': 'Basic API_TOKEN'
    }
response = requests.request("POST", "https://staas.excid.io/Api/Sign", headers=headers)

Signing

STaaS API provides a Sign endpoint that expects a JSON object that includes the following attributes:

  • HashBase64: Base64 encoding of a SHA-256 digest.
  • Comment : A comment to be stored with the signature.

This is an example of a python script that used the Sign API endpoint:

with open(ARTIFACT_TO_SIGN,"rb") as f:
    bytes = f.read() # read entire file as bytes
    artifact_hash = hashlib.sha256(bytes).digest()
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic API_TOKEN'
}
payload = f"""
{{
    "HashBase64":"{base64.b64encode(artifact_hash).decode()}",
    "Comment":"{item}"  
}}

response = requests.request("POST", url + "Api/Sign", headers=headers, data=payload)

If the signing process is successful, the Sign endpoint responds with HTTP code 201 and the generated signature bundle.