The Sign_Certificate_Request method is used to sign a previously generated certificate request (CSR).
It requires the request parameter, which contains the CSR, and allows you to specify the certificate's expiration using the integer parameter expires.
This method returns the locally signed certificate in PEM format.
import requests
import json
# Define the method and parameters
method = 'Sign_Certificate_Request'
params = {
'request': '-----BEGIN CERTIFICATE REQUEST-----
MIIC2DCCAcACAQAwgYcxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhDYWxpZm9ybmlh
MREwDwYDVQQHDAhTYW4gSm9zZTEQMA4GA1UECgwHQ29tcGFueTEMMAoGA1UECwwD
SVQxFjAUBgNVBAMMDUpvaG4gRG9lIElUIENBMRswGQYJKoZIhvcNAQkBFgxqb2hu
LmRvZUBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMHxf9X+xBBy9KoN6w/avK+xBCSzr+yjFxnyHHqydqD8/LZ5Bl4lsIqXr8D4hbyD
30EbYZF8GZy5sW5J8opA5Kjc7PqMYsVCX9rsBMXYT2BaWZbGxdJ6wYsmN5sGGkNn
szdUZcpn8cSHOwJAAZNRkG5/wN+0H3zCWWYaFfCrVY7kFzdiMbYctL15npBmfU3EX
FX0vRmZbqOSRmh1khyrYh7ZL23+jAadqRe9hHTnQlfZ8oiI/KU0JXZbBbq/J5k1C
THRQJ/qy7yK6VCfUsX/V7XLtf5ex5vlx3OtWBK5A9/jpQ2hO0QBOZ91PU/N3mPBD
v+FvPTeSM8L2V4kXpp0CgYEAwMw=
-----END CERTIFICATE REQUEST-----',
'expires': 365
}
# Create the request payload
request_payload = {
'jsonrpc': "2.0",
'method': method,
'params': params,
'id': 0
}
# Convert payload to JSON
json_payload = json.dumps(request_payload)
# Define the URL and credentials
url = "https://webadm1.rcdevsdocs.com/manag/"
auth = ("RCDEVSDOCS\\administrator", "password")
# Define the headers
headers = {
"Content-Type": "application/json",
"Connection": "close"
}
# Make the POST request
response = requests.post(url, data=json_payload, headers=headers, auth=auth, verify=False)
# Print the HTTP response code and response content
print(f"HTTP response code: {response.status_code}")
print(response.json())
<?php
$method = 'Sign_Certificate_Request';
$params = array(
'request' => '-----BEGIN CERTIFICATE REQUEST-----
MIIC2DCCAcACAQAwgYcxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhDYWxpZm9ybmlh
MREwDwYDVQQHDAhTYW4gSm9zZTEQMA4GA1UECgwHQ29tcGFueTEMMAoGA1UECwwD
SVQxFjAUBgNVBAMMDUpvaG4gRG9lIElUIENBMRswGQYJKoZIhvcNAQkBFgxqb2hu
LmRvZUBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMHxf9X+xBBy9KoN6w/avK+xBCSzr+yjFxnyHHqydqD8/LZ5Bl4lsIqXr8D4hbyD
30EbYZF8GZy5sW5J8opA5Kjc7PqMYsVCX9rsBMXYT2BaWZbGxdJ6wYsmN5sGGkNn
szdUZcpn8cSHOwJAAZNRkG5/wN+0H3zCWWYaFfCrVY7kFzdiMbYctL15npBmfU3EX
FX0vRmZbqOSRmh1khyrYh7ZL23+jAadqRe9hHTnQlfZ8oiI/KU0JXZbBbq/J5k1C
THRQJ/qy7yK6VCfUsX/V7XLtf5ex5vlx3OtWBK5A9/jpQ2hO0QBOZ91PU/N3mPBD
v+FvPTeSM8L2V4kXpp0CgYEAwMw=
-----END CERTIFICATE REQUEST-----',
'expires' => 365
);
$request = array(
'jsonrpc' => "2.0",
'method' => $method,
'params' => $params,
'id' => 0
);
$json = json_encode($request);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://webadm1.rcdevsdocs.com/manag/");
curl_setopt($ch, CURLOPT_USERPWD, "RCDEVSDOCS\\administrator:password");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("connection: close"));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$out = curl_exec($ch);
curl_close($ch);
print_r(json_decode($out));
?>
# Define the method and parameters
$method = 'Sign_Certificate_Request'
$params = @{
request = '-----BEGIN CERTIFICATE REQUEST-----
MIIC2DCCAcACAQAwgYcxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhDYWxpZm9ybmlh
MREwDwYDVQQHDAhTYW4gSm9zZTEQMA4GA1UECgwHQ29tcGFueTEMMAoGA1UECwwD
SVQxFjAUBgNVBAMMDUpvaG4gRG9lIElUIENBMRswGQYJKoZIhvcNAQkBFgxqb2hu
LmRvZUBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMHxf9X+xBBy9KoN6w/avK+xBCSzr+yjFxnyHHqydqD8/LZ5Bl4lsIqXr8D4hbyD
30EbYZF8GZy5sW5J8opA5Kjc7PqMYsVCX9rsBMXYT2BaWZbGxdJ6wYsmN5sGGkNn
szdUZcpn8cSHOwJAAZNRkG5/wN+0H3zCWWYaFfCrVY7kFzdiMbYctL15npBmfU3EX
FX0vRmZbqOSRmh1khyrYh7ZL23+jAadqRe9hHTnQlfZ8oiI/KU0JXZbBbq/J5k1C
THRQJ/qy7yK6VCfUsX/V7XLtf5ex5vlx3OtWBK5A9/jpQ2hO0QBOZ91PU/N3mPBD
v+FvPTeSM8L2V4kXpp0CgYEAwMw=
-----END CERTIFICATE REQUEST-----'
expires = 365
}
# Create the request payload
$requestPayload = @{
'jsonrpc' = '2.0'
'method' = $method
'params' = $params
'id' = 0
}
# Convert the request payload to JSON
$jsonPayload = $requestPayload | ConvertTo-Json
# Define the URL and credentials
$url = "https://webadm1.rcdevsdocs.com/manag/"
$auth = "RCDEVSDOCS\administrator:password"
# Make the POST request
$response = Invoke-RestMethod -Uri $url -Method Post -Body $jsonPayload -Headers @{ "Content-Type" = "application/json" } -Credential (New-Object System.Management.Automation.PSCredential($auth, (ConvertTo-SecureString "password" -AsPlainText -Force))) -SkipCertificateCheck
# Output the response
Write-Host "HTTP Response Code: $($response.status_code)"
Write-Host $response | ConvertTo-Json
