Child pages
  • cPanel API 2 Functions - SSL::gencsr
Skip to end of metadata
Go to start of metadata

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:

  • SSL::generate_csr

    Error rendering macro 'excerpt-include' : No link could be created for 'UAPI Functions - SSL::generate_csr'.

Note:

You must install a key for the host before you call 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 run the --user=username command.
  • 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

ParameterTypeDescriptionPossible valuesExample
citystring

Required

The CSR owner's city.

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

Required

The CSR owner's company name.

The name of the CSR owner's company.cPanel
companydivisionstring

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
countrystring

Required

The CSR owner's country.

The country's two-letter abbreviation.

Warning:

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

US
emailstring

The CSR owner's email address.

This parameter defaults to an empty string.

A valid email address.user@example.com
hoststring

Required

The CSR's hostname.

A valid domain or subdomain name.

 

example.com
statestring

Required

The CSR owner's state.

The state's full name.

Warning:

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

Texas
passwordstring

The CSR password.

This parameter defaults to an empty string.

A secure password.12345luggage

Returns

ReturnTypeDescriptionPossible valuesExample
outputstring

A message of success or a reason for failure.

  • Certificate Signing Request generated!
  • A string that describes the error.
This is an error message.
resultBoolean

Whether the function succeeded.

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