Skip to content

Provision

POST
/api/tpm/tpm/provision
curl --request POST \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/tpm/tpm/provision \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "ak_pub_key": "example", "api_key": "example", "csr": "example", "device": { "name": "example", "serial": "example", "vendor": "example", "version": "example" }, "ek_cert": "example", "ek_pub_key": "example" }'

Provision CustomAPI.

Examples of this operation.

Media typeapplication/json
TPM Provisioning Request

ProvisionReq defines parameters required for TPM Provisioning Request API.

object
ak_pub_key
TPM Provisioning AK Public Key

TPM AK Public Key in DER format Required: YES.

string
<= 1024 characters
api_key
TPM Provisioning Client API Key

API Key allocated to TPM Provisioning (manufacturing) user Required: YES.

string
<= 1024 characters
csr
TPM Provisioning Certificate Signing Request

Signing request from the manufacturing plant for device TPM provisioning Required: YES.

string
<= 1024 characters
device
object
name
Device Name

Device Name Required: YES.

string
>= 6 characters <= 1024 characters
serial
Serial Number of the device

Serial Number Required: YES.

string
<= 1024 characters
vendor
Device Vendor

Device Vendor Required: YES.

string
<= 1024 characters
version
Device Version

Device Version Required: YES.

string
>= 1 characters <= 1024 characters
ek_cert
TPM Provisioning Endorsement Key (EK) Certificate

TPM EK Certificate in DER format Required: YES.

string
<= 1024 characters
ek_pub_key
TPM Provisioning Endorsement Key (EK) Public Key

TPM EK Public Key in DER format Required: YES.

string
<= 1024 characters
Examplegenerated
{
"ak_pub_key": "example",
"api_key": "example",
"csr": "example",
"device": {
"name": "example",
"serial": "example",
"vendor": "example",
"version": "example"
},
"ek_cert": "example",
"ek_pub_key": "example"
}

A successful response.

Media typeapplication/json
TPM Provisioning Response
object
credential_bundle
TPM Credential Bundle

TPM Credential bundle used to decrypt the encrypted AK certificate.

string
<= 1024 characters
encrypted_ak_cert
Encrypted TPM AK Certificate

AK Certificate signed by the TPM CA and encrypted according to TPM 2.0 spec.

string
<= 1024 characters
nonce
TPM Encryption Nonce

Nonce used to encrypt the AK certificate.

string
<= 1024 characters
Examplegenerated
{
"credential_bundle": "example",
"encrypted_ak_cert": "example",
"nonce": "example"
}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example