Duplicar certificado

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

Use este ponto de extremidade para solicitar um certificado duplicado para um pedido.

Certificados duplicados usam a mesma data de expiração como o certificado original. Todos os campos do certificado devem ser idênticos ao original com a exceção do CSR, plataforma do servidor ou hash de assinatura. Ao duplicar um certificado de múltiplos domínios, é possível mover uma SAN ao nome comum se desejado. Ao duplicar um certificado curinga, é possível adicionar SANs contanto que sejam subdomínios do curinga.

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 da solicitação

Nome Obr/Opc Tipo Descrição
certificate obrigatório object Detalhes sobre o certificado.
.. common_name obrigatório string Domínio a ser protegido.
.. dns_names opcional array Domínios adicionais a serem protegidos.
.. csr obrigatório string Solicitação de Assinatura de Certificado (CSR).
Veja Glossário — Requisitos de CSR
.. server_platform opcional object Tipo da plataforma do servidor.
Obrigatório para pedidos de certificados de assinatura de código.
Padrão: -1 (outro)
.. .. id obrigatório int ID da plataforma do servidor.
Veja Glossário — Plataformas do servidor
.. signature_hash obrigatório string Algoritmo de hash usado para assinar o certificado.

Parâmetros da resposta

Nome Tipo Descrição
id int ID do pedido.
requests array Lista de solicitações.
..  id int ID da solicitação.
certificate_id int ID do certificado duplicado emitido.
certificate_chain array Lista de cadeia de certificados.
.. subject_common_name string Nome comum no certificado.
.. pem string Certificado codificado PEM.