Child pages
  • UAPI Functions - SSL::generate_cert
Skip to end of metadata
Go to start of metadata

Description

This function generates a self-signed SSL certificate.

Important:

In cPanel & WHM version 84 and later, when you disable the CalendarContact, MailReceiveWebDiskWebmail, and WebServer roles, the system disables this function. For more information, read our How to Use Server Profiles documentation.

Examples 


 cPanel or Webmail Session URL
https://hostname.example.com:2083/cpsess##########/execute/SSL/generate_cert?domains=example.com&countryName=US&stateOrProvinceName=TX&localityName=Houston&organizationName=Organization&organlizationalUnitName=Department&emailAddress=user%40example.com&key_id=example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff&friendly_name=TestCert


Note:

This example calls the UAPI function via a cPanel session. For more information, read our Guide to UAPI documentation. 

 LiveAPI PHP Class
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
 
// Generate a self-signed certificate for the example.com site.
$SSL_generate_cert = $cpanel->uapi(
    'SSL', 'generate_cert',    array(
           'friendly_name'           => 'TestKey',
           'domains'                 => 'example.com',
           'countryName'             => 'US',
           'stateOrProvinceName'     => 'TX',
           'localityName'            => 'Houston',
           'organizationName'        => 'Organization',
           'organlizationalUnitName' => 'Department',
           'emailAddress'            => 'user@example.com',
           'key_id'                  => 'example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff',
           'friendly_name'           => 'TestCert',
 )
);


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 self-signed certificate for the example.com site.
my $SSL_generate_cert = $cpliveapi->uapi(
    'SSL', 'generate_cert',    {
           'friendly_name'           => 'TestKey',
           'domains'                 => 'example.com',
           'countryName'             => 'US',
           'stateOrProvinceName'     => 'TX',
           'localityName'            => 'Houston',
           'organizationName'        => 'Organization',
           'organlizationalUnitName' => 'Department',
           'emailAddress'            => 'user@example.com',
           'key_id'                  => 'example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff',
           'friendly_name'           => 'TestCert',
    }
);


Note:

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

 Command Line
uapi --user=username SSL generate_cert domains=example.com countryName=US stateOrProvinceName=TX localityName=Houston organizationName=Organization organlizationalUnitName=Department emailAddress=user%40example.com key_id=example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff&friendly_name=TestCert


Notes:

  • You must URI-encode values.
  • username represents your account-level username.
  • For more information and additional output options, read our Guide to UAPI documentation or run the uapi --help command. 
  • If you run CloudLinux™, you must use the full path of the uapi command:

    /usr/local/cpanel/bin/uapi


 Output (JSON)
{
  "data": {
    "created": 1366386266,
    "domains": [
      "example.com"
    ],
    "friendly_name": "example.com",
    "id": "example_com_bbe7e_16e2d_1397922266_a6e1ed42e59ce03e863b96ccde8d192f",
    "is_self_signed": 1,
    "issuer.commonName": "example.com",
    "issuer.organizationName": "Organization",
    "modulus": "a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acdb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafabd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a3689f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f35342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed179973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd869ef9dddf",
    "modulus_length": 2048,
    "not_after": 1397922266,
    "not_before": 1366386266,
    "subject.commonName": "example.com",
    "text": "-----BEGIN CERTIFICATE-----
MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ
c2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI
DAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy
MjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV
BAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P
Xx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW
voK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da
M3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC
+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6
PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj
UDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw
+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA
A4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh
cDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw
FYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh
/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag
qz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa
Km6r7YmwfLN/YMZBHXSR58oOGP9W
-----END CERTIFICATE-----"
  },
  "errors": null,
  "messages": [
    "Certificate generated!"
  ],
  "status": 1
}


Note:

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

Parameters

ParameterTypeDescriptionPossible valuesExample
domainsstring

Required

The domain(s) for which to generate the certificate.

A valid string.


Note:

If there is more than one domain, this parameter must be a comma-separated list.

example.com
countryNamestring

Required

The two-letter country code.

A valid two-letter ISO-3166 country code.US
stateOrProvinceNamestring

Required

The two-letter state or locality abbreviation.

A valid two-letter string.TX
localityNamestring

Required

The certificate's city name.

A valid string.Houston
organizationNamestring

Required

The certificate's organization.

A valid string.Organization
organizationalUnitNamestring

The certificate's organizational unit or department name.

This parameter defaults to an empty string.

A valid string.Department
emailAddressstring

A valid email address to associate with the certificate.

This parameter defaults to an empty string.

A valid email address.user@example.com
key_idstring

Required

The key's ID.

A valid string.
 Click to view...
example_com_cb497_a394d_1397249671_d1272da8f13a1fd837493a5ad1f0a0f3
friendly_namestring

A friendly name for the new certificate.

This parameter defaults to the domain's name for which you generated the certificate.

A valid string.TestCert

Returns

ReturnTypeDescriptionPossible valuesExample
is_self_signed BooleanWhether the certificate is self-signed.
  • 1 — Self-signed.
  • 0 — Not self-signed.
1
issuer.organizationNamestringThe certificate's organization name.A valid string.Organization
modulusstringThe certificate's modulus.A valid string.
 Click to view...
a74f7636fa6ac93ee6836a83a995b55deb5019ea36d7ba3dafb00e38d693acdb0c81b2ff777d6b433a420fae523f127f352a68bcc8b8f2d6ee7b70395bafabd8237ada8164fdddf8376b30375c35d4d4cbcce7d33d08069c17b409176a3689f1ebc97c0b08fe6ae44c19a92ac6d68448e7f1d13f3b360affd4222a51b4f35342de99b5a1fb5548e438f2d824664562a448002eed7fce24dedc7dc3e1ed179973d1dae959b33716eeb410d172708954e00632cbf60a0e26419860c8c0bc285d6bfe4b479de0dd189772a5dae676bd2a92acccc1369821be8cffddd8a7e6ecc061f8a32a9ae0661e4e946ed8e3827b277138d3a76116567cbd129cbd869ef9dddf
issuer.commonNamestringThe certificate's common name.A valid domain.
example.com
not_beforestringWhen the certificate started.A date in Unix time format.
1415123822
modulus_lengthstringThe length of the certificate's modulus.A positive integer.
2048
not_afterstringWhen the certificate expired.A date in Unix time format.
1446659822
domainsstringThe domains that the certificate covers.A valid domain or domains.
example.com
subject.commonNamestringThe name that issued the certificate.Usually, a valid domain.
example.com
friendly_namestringThe certificate's friendly name.A valid string.
TestCert
idstringThe certificate's ID.A valid string.
 Click to view...
example_com_a74f7_9dddf_1446659822_eae1ff43c4ec1991e195877c55755eff
textstringThe certificate's text.A valid certificate.
 Click to view...

-----BEGIN CERTIFICATE-----
MIIDcTCCAlmgAwIBAgIFAU+BNVgwDQYJKoZIhvcNAQEFBQAwUTESMBAGA1UEAwwJ
c2lza28udGxkMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGY1BhbmVsMQswCQYDVQQI
DAJUWDEQMA4GA1UEBwwHSG91c3RvbjAeFw0xNDEwMDYyMjI2MTlaFw0xNTEwMDYy
MjI2MTlaMFExEjAQBgNVBAMMCXNpc2tvLnRsZDELMAkGA1UEBhMCVVMxDzANBgNV
BAoMBmNQYW5lbDELMAkGA1UECAwCVFgxEDAOBgNVBAcMB0hvdXN0b24wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9zx6zGiHdmWA0dKtoXmJiWXpZ9E3P
Xx3YHsjFEWW7e5pH0vZ+jVMzDmm5nsJ7RXrAkZO1IvpIpVLvoQfiJOWVvkD+o9fW
voK1tWJS72FSgPju+58mA2ieBuc87A790Pzuv1P3NR3zFLAjUR99zkHR1fpri/da
M3PBWO8ET48FWkyU1kOeZaUlF67/+wrEiNgg+t1qhKOCAB61PdNVkLaSGHimksuC
+Czk8Kq9nuS0E0TCnDtjjEyJ455FUcaCfczlTb8xkB/F9ORe74yTzD+vlk0tFMG6
PLj/ajIwWqwO0qmQ8wX3NRxkWgGz5kVO1wrVJarKQ5EYQ3/mgvit0v6dAgMBAAGj
UDBOMB0GA1UdDgQWBBRw+wKBo34+bgexjAa3EMDsgSCd7zAfBgNVHSMEGDAWgBRw
+wKBo34+bgexjAa3EMDsgSCd7zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA
A4IBAQCHRXIs53opzKM2rM8Qe8lcw524WK6hqy2EWrZHp78N7rU7/6DQ/I3hv3Wh
cDDIO04I2/Xhe88MLBaLoM367Ya+vy7CaLr14aLi/SfQszMA0ALBvMao+Fis0iVw
FYq/NLgSXw+fgnpFskt8v8iQZ+4Kaal8U8e9sVgu8m0RgO7rzym1eRiIKpsKd1rh
/SD7LbSN7M7TRL3QqF7ltw9sQhAAsQcRaBBF21pdWrqhiGZ+Eioo3hhgwNavH2ag
qz78ddHwrFpHFwrEeUk1OfpPb76MYIce7xIy/4oQNdg6fOq4l/FrajBv+WkzDVPa
Km6r7YmwfLN/YMZBHXSR58oOGP9W
-----END CERTIFICATE-----