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 -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"
}
}'
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)
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))
}
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);
});
{
"id": 112233,
"requests": [
{
"id": 332211
}
]
}
{
"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>"
}
]
}
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. |
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. |