# Create SSL Certificate - CreateSSL

## Overview

Create an SSL certificate, you can pass the entire Pem certificate content, or pass the certificate, private key, and CA certificate separately.






## Definition

### Public Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Action**     | string  | Corresponding API command name, the current API is `CreateSSL`.                      | **Yes** |
| **PublicKey**  | string  | The user's public key can be obtained from [Console](https://console.scloudsg.com/uaccount/api_manage)                                             | **Yes** |
| **Signature**  | string  | User signature generated based on public key and API command, see [Signature Algorithm](/docs/api/summary/signature.md)  | **Yes** |

### Request Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Region** | string | Region. See [List of Regions and Availability Zones](/docs/api/summary/regionlist) |**Yes**|
| **ProjectId** | string | Project ID. If not filled in, the default project is used, sub-accounts must be filled in. Please refer to the [GetProjectList interface](/docs/api/summary/get_project_list). |**Yes**|
| **SSLName** | string | The name of the SSL certificate, the default value is not empty. |**Yes**|
| **SSLType** | string | The type of SSL certificate added currently only supports the Pem format. |No|
| **SSLContent** | string | The complete content of the SSL certificate, including the user certificate, the private key of the encryption certificate, and the CA certificate. |No|
| **UserCert** | string | User's Certificate |No|
| **PrivateKey** | string | Private Key of the Encryption Certificate |No|
| **CaCert** | string | CA Certificate |No|
| **USSLId** | string | ID of USSL Certificate |No|

### Response Field

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **RetCode** | int | Return status code. If it is 0, it means successful return. If it is not 0, it means failure. |**Yes**|
| **Action** | string | Operation command name. |**Yes**|
| **Message** | string | Returns an error message, providing detailed description when `RetCode` is non-zero. |No|
| **SSLId** | string | Id of SSL Certificate |No|




## Example

### Request Example
    
```
https://api.scloudsg.com/?Action=CreateSSL
&Region=cn-bj2
&ProjectId=project-XXXXXX
&SSLName=new-ssl
&SSLContent=-----BEGIN&nbspRSA&nbspPRIVATE&nbspKEY-----xxx
&USSLId=usecure_ussl-XXXXXX
```

### Response Example
    
```json
{
  "Action": "CreateSSLResponse",
  "RetCode": 0,
  "SSLId": "ssl-XXXXXX"
}
```





