---
title: "Create self-signed SSL certificate"
method: GET
path: "/SSL/generate_cert"
tags: ["SSL", "SSL Certificate Management"]
---

# Create self-signed SSL certificate

`GET /SSL/generate_cert`

This function generates a self-signed SSL certificate.

**Important:**

When you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail,
and Web Server [roles](https://go.cpanel.net/howtouseserverprofiles#roles),
the system **disables** this function.

## Query parameters

- `countryName` string, ISO-3166-1 (alpha-2), required
- `domains` string, domain, required
- `key_id` string, required
- `localityName` string, required
- `organizationName` string, required
- `stateOrProvinceName` string, required
- `emailAddress` string, email
- `friendly_name` string
- `organizationalUnitName` string

## Response `200`

HTTP Request was successful.

- object
  - `apiversion` integer — The version of the API.
  - `func` string — The name of the method called.
  - `module` string — The name of the module called.
  - `result` object
    - `data` object
      - `created` integer — The certificate's creation date.
      - `domains` string[] — A list of domains that the certificate covers.
      - `ecdsa_curve_name` 'prime256v1' | 'secp384r1', nullable — The ECDSA curve that the certificate's key uses. * `prime256v1` * `secp384r1` * `null` — The certificate's key is **not** an ECDSA key.
      - `ecdsa_public` string, nullable — The certificate's key's ECDSA compressed public point, in hexadecimal format. * null — The certificate's key is **not** an ECDSA key.
      - `friendly_name` string — The certificate's friendly name.
      - `id` string — The certificate's ID.
      - `is_self_signed` 1 | 0 — Whether the certificate is self-signed. * `1` — Self-signed. * `0` — Not self-signed.
      - `issuer.commonName` string — The certificate's Common Name.
      - `issuer.organizationName` string — The certificate's Organization Name.
      - `key_algorithm` 'rsaEncryption' | 'id-ecPublicKey' — The certificate's key's algorithm. * `rsaEncryption` — RSA. * `id-ecPublicKey` — ECDSA.
      - `modulus` string, nullable — The certificate's key's modulus, in hexadecimal format. * `null` — The certificate's key is **not** an RSA key.
      - `modulus_length` integer, nullable — The length, in bits, of the certificate's key's modulus. * `null` — The certificate's key is **not** an RSA key.
      - `not_after` integer — The date that the certificate expires.
      - `not_before` integer — The certificate's start date.
      - `serial` string — The certificate's serial number.
      - `signature_algorithm` string — The certificate's OID hash algorithm signature.
      - `subject.commonName` string, domain — The domain that issued the certificate.
      - `text` string, pem-certificate — The certificate's text.
      - `validation_type` string, nullable — The certificate's validation type, if one exists.
    - `errors` string[], nullable — List of errors if the API failed.
    - `messages` string[], nullable — List of messages generated by the API.
    - `metadata` object
    - `status` 1 | 0 — * `1` — Success. * `0` — Failed. Check the `errors` field for more details.
    - `warnings` string[], nullable — List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.

---

[API](https://skmtc.net/cpanel/apis/cpanel-uapi.md) · [All operations](https://skmtc.net/cpanel/apis/cpanel-uapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpanel/cpanel-uapi/revisions/632e2f8e6d04/schema)
