Creating an EC Data Key Pair
Function
This API is used to create an EC data key pair. The returned result contains the plaintext public key and ciphertext private key. You can determine whether to return the plaintext private key based on the parameter.
Calling Method
For details, see Calling APIs.
URI
POST /v1.0/{project_id}/kms/create-ec-datakey-pair
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API. The value of X-Subject-Token in the response header is the user token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key_id |
Yes |
String |
Key ID, which is 36-byte long and matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$, for example, 0d0466b0-e727-4d9c-b35d-f84bb474a37f. |
key_spec |
Yes |
String |
The algorithm, length, and curve information are included. The value can be ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, or SM2. |
with_plain_text |
No |
Boolean |
Whether to return the plaintext private key. The default value is true. |
additional_authenticated_data |
No |
String |
Additional information for authentication and encryption. Do not enter sensitive information. |
sequence |
No |
String |
A 36-byte serial number of a request message, for example, 919c82d4-8046-4722-9094-35c3c6524cff. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
key_id |
String |
Key ID. |
key_spec |
String |
The algorithm, length, and curve information are included. The value can be RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, or SM2. |
public_key |
String |
Plaintext public key information. |
private_key_cipher_text |
String |
Ciphertext private key. |
private_key_plain_text |
String |
Plaintext private key. Only one of private_key_plain_text, wrapped_private_key, and ciphertext_recipient can have a value. |
wrapped_private_key |
String |
Ciphertext private key encrypted using the custom private key. Only one of private_key_plain_text, wrapped_private_key, and ciphertext_recipient can have a value. |
ciphertext_recipient |
String |
Ciphertext private key encrypted using the QingTian public key. Only one of private_key_plain_text, wrapped_private_key, and ciphertext_recipient can have a value. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 502
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 504
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Example Requests
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "key_spec" : "ECC_NIST_P256", "with_plain_text" : true, "additional_authenticated_data" : "aad", "sequence" : "sequence" }
Example Responses
Status code: 200
Request succeeded.
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "key_spec" : "ECC_NIST_P256", "public_key" : "public_key", "private_key_cipher_text" : "private_key_cipher_text", "private_key_plain_text" : "private_key_plain_text", "wrapped_private_key" : "wrapped_private_key", "ciphertext_recipient" : "ciphertext_recipient" }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request parameters. |
401 |
Username and password are required for the requested page. |
403 |
Authentication failed. |
404 |
The resource does not exist. |
500 |
Internal service error. |
502 |
Request failed. The server has received an invalid response. |
504 |
Gateway timed out. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.