resolv_25

Registered
Aug 26, 2018
2
0
1
Croatia
cPanel Access Level
Root Administrator
Hello,

I need help with cpapi2 installSSL.

I’m using CMD option described on manual:
cPanel API 2 Functions - SSL::installssl - Developer Documentation - cPanel Documentation

Here is my shell command as a root:
Code:
cpapi2 --user=cpaneluser SSL installssl cabundle=-----BEGIN CERTIFICATE-----\\nMIIEsTCCA5mgAwIBAgIQCKWiRs1LXIyD1wK0u6tTSTANBgkqhkiG9w0BAQsFADBh\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nQTAeFw0xNzExMDYxMjIzMzNaFw0yNzExMDYxMjIzMzNaMF4xCzAJBgNVBAYTAlVT\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nb20xHTAbBgNVBAMTFFJhcGlkU1NMIFJTQSBDQSAyMDE4MIIBIjANBgkqhkiG9w0B\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\n+MgP5viaHLy+VpHP+ndX5D18INIuuAV8wFq26KF5U0WNIZiQp6mLtIWjUeWDPA28\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nMFz4J4JE8N7NA1uJwUEFMUvHLs0scLoPZkKcewIRm1RV2AxmFQxJkdf7YN9Pckki\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nKB859OSGQuw73XXgeuFwEPHTIRoUtkzu3/EQ+LtwznkkdQIDAQABo4IBZjCCAWIw\\nHQYDVR0OBBYEFFPKF1n8a8ADIS8aruSqqByCVtp1MB8GA1UdIwQYMBaAFAPeUDVW\\n0Uy7ZvCj4hsbw5eyPdFVMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEF\\nBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADA0BggrBgEFBQcBAQQo\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nOzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9i\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAEBMAgG\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\\nYWs8Ejbm0nyzKeZC2KOVYR7P8gevKyslWm4Xo4BSzKr235FsJ4aFt6yAiv1eY0tZ\\n/ZN18bOGSGStoEc/JE4ocIzr8P5Mg11kRYHbmgYnr1Rxeki5mSeb39DGxTpJD4kG\\nhs5lXNoo4conUiiJwKaqH7vh2baryd8pMISag83JUqyVGc2tWPpO0329/CWq2kry\\nqv66OSMjwulUz0dXf4OHQasR7CNfIr+4KScc6ABlQ5RDF86PGeE6kdwSQkFiB/cQ\\nysNyq0jEDQTkfa2pjmuWtMCNbBnhFXBYejfubIhaUbEv2FOQB3dCav+FPg5eEveX\\nTVyMnGo=\\n-----END CERTIFICATE----- crt=-----BEGIN CERTIFICATE-----\\n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\\nAAAAAAAAAAAAAAAAAAzaPw==\\n-----END CERTIFICATE----- domain=domain.tld
The error from cpanel shell:
Code:
Odd number of elements in hash assignment at bin/apitool.pl line 137.

Use of uninitialized value in list assignment at bin/apitool.pl line 137.

Odd number of elements in hash assignment at bin/apitool.pl line 139.

[2018-08-26 12:57:36 +0200] warn [cpanel] Encountered error in SSL::installssl: The certificate text was not valid.The system could not parse the certificate because of an error: The certificate text was not valid. at /usr/local/cpanel/Cpanel/EventHandler.pm line 112.

Cpanel::EventHandler::post_event(2, "post", "SSL", "installssl", HASH(0x25e2f58), ARRAY(0x25e40d8)) called at /usr/local/cpanel/Cpanel/Api2/Exec.pm line 165

Cpanel::Api2::Exec::api2_exec("SSL", "installssl", HASH(0x25e3708), HASH(0x25e2f58)) called at cpanel.pl line 1278

cpanel::cpanel::docpanelaction(HASH(0x25e31f8)) called at cpanel.pl line 4227

cpanel::cpanel::run_fast_json_mode() called at cpanel.pl line 840

cpanel::cpanel::script("cpanel::cpanel", "--json-fast-connect", "--stdin") called at cpanel.pl line 271

---

cpanelresult:

apiversion: 2

data:

-

output: "The system could not parse the certificate because of an error: The certificate text was not valid."

result: 0

error: "The certificate text was not valid.The system could not parse the certificate because of an error: The certificate text was not valid."

event:

result: 1

func: installssl

module: SSL

postevent:

result: 1

preevent:

result: 1
(the cert above is not real, it is changed. I put a quote only for readability )

First, on the manual, cabundle is not required, I’ve tried without, result is the same.
I've tried to put cert in the single or double quote, doesn't work.
However, I do parse the cert with a sed to get \\n in all spaces except in -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----
Although it looks fine, it is possible that format of cert became irregular.
Still, I'm stuck with this problem, maybe I do miss something else?

It is installed Cpanel v74.0.5 , CloudLinux
Thanks
 
Last edited by a moderator:

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,304
363
Houston
Hi @resolv_25

First I want to suggest using the UAPI function rather than the cPapi2 function for this: UAPI Functions - SSL::install_ssl - Developer Documentation - cPanel Documentation

I would also suggest reading the following: Tutorial - Call UAPI's SSL::install_ssl Function in Custom Code - Developer Documentation - cPanel Documentation

I believe the method's for installing an SSL listed in the documentation for the Install SSL function in Custom Code will be helpful in this instance.

Thanks!
 

resolv_25

Registered
Aug 26, 2018
2
0
1
Croatia
cPanel Access Level
Root Administrator
Hi, thanks for your reply.
One thing isn't clear from manual, do I have to parse cert, cabundle and key on the same format:
Code:
-----BEGIN CERTIFICATE-----\\nMIIEsTCCetc
I mean, do I have to put \\n in the space between lines.
Probably yes as on the cpapi2.
I would prefer to use shell instead Perl or PHP because one can use a ssh key and install it on various servers without need of further authentication.
Well, I was hoping to use cpapi2 because it is not asking the private key. WHM GUI is also smart enough when providing the cert, it can automatically populate cabundle and key.

However, I'll try with that.
Regards,