cPanel API 2 Functions - SSL::gencsr

Warning:

The cPanel API 2 system is deprecated. We strongly recommend that you use UAPI instead of cPanel API 2.


Description

This function generates a certificate signing request (CSR).

  • The system saves the new CSR to the cPanel account's certificate directory.
  • Certificate Authorities may have additional requirements for CSR information.
  • Use the SSL::listcsrs function to retrieve the new CSR's information.
Warning:

We strongly recommend that you use the following UAPI function instead of this function:


Note:

You must install a key for the host before you call this function.


Important:

In cPanel & WHM version 84 and later, when you disable the Calendars and Contacts, Receive Mail, Web Disk, Webmail, and Web Server roles, the system disables this function.


Examples


WHM API (JSON)

https://hostname.example.com:2087/cpsess###########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=SSL&cpanel_jsonapi_func=gencsr&city="Houston"&company="cPanel"&companydivision="Documentation"&country="US"&email="user@example.com"&host="example.com"&state="Texas"&password="12345luggage"
Note:

For more information, read our Calls from the WHM API documentation.


LiveAPI PHP Class

$cpanel = new CPANEL(); // Connect to cPanel - only do this once.

// Generate a new CSR for example.com.
$generate_new_csr = $cpanel->api2(
    'SSL', 'gencsr',
    array(
        'city'            => 'Houston',
        'company          => 'cPanel',
        'companydivision' => 'Documentation',
        'country'         => 'US',
        'email'           => 'user@example.com',
        'host'            => 'example.com',
        'state'           => 'Texas',
        'password'        => '12345luggage',
    )
);
Note:

For more information, read our Guide to the LiveAPI System.


LiveAPI Perl Module

my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.

# Generate a new CSR for example.com.
my $generate_new_csr = $cpliveapi->api2(
    'SSL', 'gencsr',
    {
        'city'            => 'Houston',
        'company          => 'cPanel',
        'companydivision' => 'Documentation',
        'country'         => 'US',
        'email'           => 'user@example.com',
        'host'            => 'example.com',
        'state'           => 'Texas',
        'password'        => '12345luggage',
    }
);
Note:

For more information, read our Guide to the LiveAPI System.


cPanel Tag System (deprecated)

Warnings:
  • In cPanel & WHM version 11.30 and later, cPanel tags are deprecated . We strongly recommend that you only use the LiveAPI system to call the cPanel APIs. Examples are only present in order to help developers move from the old cPanel tag system to our LiveAPI .
  • cPanel API 2 calls that use cPanel tags vary in code syntax and in their output.
  • For more information, read our Deprecated cPanel Tag Usage documentation.

Command Line

cpapi2 --user=username SSL gencsr city=Houston company=cPanel companydivision=Documentation country=US email=username%40example.com host=example.com state=Texas password=12345luggage
Notes:
  • You must URI-encode values.
  • username represents your account-level username.
  • You must include the --user=username option.
  • For more information and additional output options, read our Guide to cPanel API 2 documentation or run the cpapi2 --help command.
  • If you run CloudLinux™, you must use the full path of the cpapi2 command:
    /usr/local/cpanel/bin/cpapi2

Output (JSON)

{
  "cpanelresult": {
    "apiversion": 2,
    "func": "gencsr",
    "data": [
      {
        "output": "Certificate Signing Request generated!",
        "result": 1
      }
    ],
    "event": {
      "result": 1
    },
    "module": "SSL"
  }
}
Note:

Use cPanel's API Shell interface (cPanel >> Home >> Advanced >> API Shell) to directly test cPanel API calls.


Parameters

Parameter Type Description Possible values Example
city string

Required

The CSR owner's city.

The name of the city in which the CSR owner resides. Houston
company string

Required

The CSR owner's company name.

The name of the CSR owner's company. cPanel
companydivision string

The CSR owner's division or department within the company.

This parameter defaults to an empty string.

The name of the CSR owner's division or department. Documentation
country string

Required

The CSR owner's country.

The country's two-letter abbreviation. You must use the abbreviation. Do not use the country's full name.

US
email string

The CSR owner's email address.

This parameter defaults to an empty string.

A valid email address. user@example.com
host string

Required

The CSR's hostname.

A valid domain or subdomain name.


example.com
state string

Required

The CSR owner's state.

The state's full name. You must use the full name. Do not use the state's abbreviation.

Texas
password string

The CSR password.

This parameter defaults to an empty string.

A secure password. 12345luggage

Returns

Return Type Description Possible values Example
output string A message of success or a reason for failure.
  • Certificate Signing Request generated!
  • A string that describes the error.
This is an error message.
result Boolean

Whether the function succeeded.

  • 1 — The function succeeded.
  • 0 — The function failed.
1