Duplicar certificado

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

Use este terminal para solicitar un certificado duplicado para un pedido.

Los certificados duplicados usan la misma fecha de vencimiento que el certificado original. Todos los campos del certificado deben ser idénticos al original, excepto la CSR, la plataforma de servidor o el cifrado de firma. Cuando duplique un certificado de varios dominios, puede mover un SAN al nombre común si así lo desea. Cuando duplique un certificado comodín, puede agregar SAN siempre que sean subdominios del comodín.

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>"
    }
  ]
}

Parámetros de la solicitud

Nombre Solicitud/opción Tipo Descripción
certificate obligatorio object Detalles sobre el certificado.
.. common_name obligatorio string Dominio que se protegerá.
.. dns_names opcional array Dominios adicionales que se protegerán.
.. csr obligatorio string Solicitud de firma del certificado (CSR).
Vea Glosario: requisitos de la CSR
.. server_platform opcional object Tipo de plataforma del servidor.
Obligatorio para pedidos de certificados de firma de código.
Predeterminado: -1 (otro)
.. .. id obligatorio int Id. de plataforma del servidor.
Vea Glosario: plataformas de servidores
.. signature_hash obligatorio string Algoritmo de cifrado usado para firmar el certificado.

Parámetros de la respuesta

Nombre Tipo Descripción
id int Id. del pedido.
requests array Lista de solicitudes.
..  id int Id. de la solicitud.
certificate_id int Id. del certificado duplicado emitido.
certificate_chain array Lista de la cadena del certificado.
.. subject_common_name string Nombre común que figura en el certificado.
.. pem string Certificado cifrado con PEM.