UpLoadCert
Upload a server certificate and its private key to the certificate store, returning the certificate identifier used by HTTPS listeners.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /clb/UpLoadCert path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl -sS https://clb.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/clb/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: clb.api3.convergecloud.com' \
-H 'X-TC-Action: UpLoadCert' \
-H 'X-TC-Version: 2018-03-17' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"CertAlias":"<CertAlias>","CertType":"<CertType>","CertContent":"<CertContent>"}'Request parameters
This action takes no parameters.
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
No response fields are documented for this action beyond the envelope.
{
"Response": {
// action-specific fields,
"RequestId": "…"
}
}{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
What failure looks like
Example error responses for this action. Match on Code.
{
"Response": {
"Error": {
"Code": "FailedOperation",
"Message": "Upload certificate failed, please check that the certificate meets the standard."
},
"RequestId": "99096d86-1094-11df-6d88-770b629870e2"
}
}{
"Response": {
"RequestId": "1cdb81b2-4638-288c-2fc3-d70e1a48c1f4",
"Error": {
"Code": "InvalidParameter",
"Message": "[Type 3002] : CertAlias is required; : Additional property Alias is not allowed; "
}
}
}Behaviour
The action name contains a capital L and dispatch is case-sensitive. CertType is SVR for a server certificate. CertContent should contain the full chain. Self-signed certificates are rejected with FailedOperation; the store requires a certificate issued by a recognised authority. The response field is CertID while requests take CertId.
