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
#!/bin/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