From Openprovider API documentation
Module SSL certificates > Decode CSR
Module
| SSL certificates
|
Command name
| generateCsrSslCertRequest
|
Use
| Use this call to generate a CSR
|
Input
|
- bits (e.g. 1024 or 2048)
- commonName (domain used as a common name)
- country
- organization
- email
- state
- locality
- unit
- subjectAlternativeName (additional domains)
- signatureHashAlgorithm (default: sha2)
- withConfig (default: 1 - config file for OpenSSL command dumped out when subjectAlternativeName domains are included)
|
Output
|
- csr
- key (private key)
- command (OpenSSL command used to generate CSR)
|
Examples
Using PHP class
$request = new OP_Request;
$request->setCommand('generateCsrSslCertRequest')
->setAuth(array('username' => 'username', 'password' => 'password'))
->setArgs(array(
'bits' => '2048',
'commonName' => 'test.com',
'country' => 'US',
));
Raw XML
Please note that newlines and leading spaces are added only for readability. Those whitespaces should be excluded from your XML command before sending it to Openprovider.
<?xml version="1.0" encoding="UTF-8"?>
<openXML>
<credentials>
<username>username</username>
<password>password</password>
</credentials>
<generateCsrSslCertRequest>
<bits>2048</bits>
<commonName>test.com</commonName>
<country>US</country>
</generateCsrSslCertRequest>
</openXML>
<?xml version="1.0" encoding="UTF-8"?>
<openXML>
<reply>
< code>0</code>
<desc />
<data>
<command>openssl req -new -newkey rsa:2048 -nodes -out your.csr -keyout your.private.key -subj "/C=US/ST=/L=/O=/OU=/CN=test.com/emailAddress=""</command>
<key>-----BEGIN PRIVATE KEY-----BASE64PRIVATEKEYHERE-----END PRIVATE KEY-----</key>
<csr>-----BEGIN CERTIFICATE REQUEST-----BASE64CSRHERE-----END CERTIFICATE REQUEST-----</csr>
</data>
</reply>
</openXML>