Duplicate certificate

POST
https://www.digicert.com/services/v2/order/certificate/{{order_id}}/duplicate

Use this endpoint to request a duplicate certificate for an order.

Duplicate certificates use the same expiration date as the original certificate. All certificate fields must be identical to the original with the exception of the CSR, server platform, or signature hash. When duplicating a multi-domain certificate, you can move a SAN to the common name if desired. When duplicating a wildcard certificate, you can add SANs as long as they are subdomains of the wildcard.

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/duplicate' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "common_name": "example.com",
    "dns_names": [
      "sub.example.com"
    ],
    "csr": "<csr>",
    "server_platform": {
      "id": 45
    },
    "signature_hash": "sha256"
  }
}'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/{{order_id}}/duplicate"

payload = "{\n  \"certificate\": {\n    \"common_name\": \"example.com\",\n    \"dns_names\": [\n      \"sub.example.com\"\n    ],\n    \"csr\": \"<csr>\",\n    \"server_platform\": {\n      \"id\": 45\n    },\n    \"signature_hash\": \"sha256\"\n  }\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
Go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://www.digicert.com/services/v2/order/certificate/{{order_id}}/duplicate"

	payload := strings.NewReader("{\n  \"certificate\": {\n    \"common_name\": \"example.com\",\n    \"dns_names\": [\n      \"sub.example.com\"\n    ],\n    \"csr\": \"<csr>\",\n    \"server_platform\": {\n      \"id\": 45\n    },\n    \"signature_hash\": \"sha256\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'POST',
  url: 'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/duplicate',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { common_name: 'example.com',
        dns_names: [ 'sub.example.com' ],
        csr: '<csr>',
        server_platform: { id: 45 },
        signature_hash: 'sha256' } },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
201 Created
{
  "id": 112233,
  "requests": [
    {
      "id": 332211
    }
  ]
}
201 Created (validation complete)
{
  "id": 1234567,
  "certificate_id": 987654321,
  "certificate_chain": [
    {
      "subject_common_name": "www.digicert.com",
      "pem": "<pem_encoded_certificate>"
    },
    {
      "subject_common_name": "DigiCert SHA2 Extended Validation Server CA",
      "pem": "<pem_encoded_certificate>"
    },
    {
      "subject_common_name": "DigiCert High Assurance EV Root CA",
      "pem": "<pem_encoded_certificate>"
    }
  ]
}

Request parameters

Name Req/Opt Type Description
certificate required object Details about the certificate.
.. common_name required string Domain to be secured.
.. dns_names optional array Additional domains to be secured.
.. csr required string Certificate signing request (CSR).
See Glossary – CSR requirements
.. server_platform optional object Server platform type.
Required for code signing certificate orders.
Default: -1 (other)
.. .. id required int Server platform ID.
See Glossary – Server platforms
.. signature_hash required string Hash algorithm used to signing the certificate.

Response parameters

Name Type Description
id int Order ID.
requests array List of requests.
..  id int Request ID.
certificate_id int ID of the issued duplicate certificate.
certificate_chain array Certificate chain list.
.. subject_common_name string Common name on the certificate.
.. pem string PEM encoded certificate.