Zertifikat duplizieren

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

Verwenden Sie diesen Endpunkt, um ein Zweitzertifikat für einen Auftrag zu beantragen.

Zweitzertifikate haben das gleiche Ablaufdatum wie das Original. Alle Zertifikatsfelder müssen mit dem Original identisch sein, außer der CSR, der Serverplattform und dem Signatur-Hashwert. Beim Duplizieren eines Multi-Domain-Zertifikats können Sie bei Bedarf einen SAN zum allgemeinen Namen machen. Beim Duplizieren eines Wildcard-Zertifikats können Sie SANs hinzufügen, solange sie Unterdomänen der Wildcard sind.

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

Antragsparameter

Name Antr./Opt. Typ Beschreibung
certificate erforderlich object Einzelheiten über das Zertifikat.
.. common_name erforderlich string Zu schützende Domäne.
.. dns_names optional array Weitere zu schützende Domänen.
.. csr erforderlich string CSR (Certificate Signing Request)
*Siehe Glossar – CSR-Anforderungen
.. server_platform optional object Serverplattformtyp.
Erforderlich für Code Signing-Zertifikatsbestellungen.
Standard: -1 (andere)
.. .. id erforderlich int Serverplattform-ID
Siehe Glossar – Serverplattformen
.. signature_hash erforderlich string Zum Signieren des Zertifikats verwendeter Hash-Algorithmus.

Reaktionsparameter

Name Typ Beschreibung
id int Auftrags-ID
requests array Liste der Anträge.
..  id int Antrags-ID.
certificate_id int ID des ausgestellten Zweitzertifikats
certificate_chain array Liste der Zertifikatskette
.. subject_common_name string Allgemeiner Name auf dem Zertifikat
.. pem string PEM-verschlüsseltes Zertifikat