Cryptographic Operations
A suite of cryptographic primitives offered by the Exoscale KMS.
Other Operations
decrypt
[BETA] Decrypt
POST /kms-key/{id}/decryptDecrypt a ciphertext.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
ciphertext | string | yes | |
encryption-context | string | no |
Example
{
"ciphertext": "string",
"encryption-context": "string"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
plaintext | string |
Example output
{
"plaintext": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for decrypt: golang | Python | Java
CLI: exo api decrypt
encrypt
[BETA] Encrypt
POST /kms-key/{id}/encryptEncrypt a plaintext.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
plaintext | string | yes | |
encryption-context | string | no |
Example
{
"encryption-context": "string",
"plaintext": "string"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
ciphertext | string |
Example output
{
"ciphertext": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for encrypt: golang | Python | Java
CLI: exo api encrypt
generate-data-key
[BETA] Generate Data Key
POST /kms-key/{id}/generate-data-keyGenerate a Data Encryption Key from a given KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
bytes-count | integer | no | |
encryption-context | string | no | |
key-spec | string | no | Allowed values: AES-256. |
Example
{
"bytes-count": 0,
"encryption-context": "string",
"key-spec": "AES-256"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
ciphertext | string | |
plaintext | string |
Example output
{
"ciphertext": "string",
"plaintext": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for generate-data-key: golang | Python | Java
CLI: exo api generate-data-key
re-encrypt
[BETA] Re-encrypt
POST /kms-key/{id}/re-encryptDecrypts an existing ciphertext using its original key material and re-encrypts the underlying plaintext using a specified KMS key or the latest key material of the same KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
destination | Destination | yes | |
source | Source | yes |
Example
{
"destination": {
"encryption-context": "string",
"key": "string"
},
"source": {
"ciphertext": "string",
"encryption-context": "string",
"key": "string"
}
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
ciphertext | string |
Example output
{
"ciphertext": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for re-encrypt: golang | Python | Java
CLI: exo api re-encrypt