인증서 복제

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

이 엔드포인트를 사용하여 주문에 대한 복제 인증서를 요청합니다.

복제 인증서는 원래 인증서와 동일한 만료 날짜를 사용합니다. 모든 인증서 필드는 CSR, 서버 플랫폼 또는 서명 해시를 제외하고 원래 인증서와 동일해야 합니다. 멀티도메인 인증서를 복제할 때는 원하는 경우 SAN을 일반 이름으로 이동할 수 있습니다. 와일드카드 인증서를 복제할 때는 SAN이 와일드카드의 하위 도메인인 경우 SAN을 추가할 수 있습니다.

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

요청 매개 변수

이름 필수/옵션 유형 설명
certificate 필수 object 인증서에 대한 상세 정보입니다.
.. common_name 필수 string 보호할 도메인입니다.
.. dns_names 옵션 array 보호할 추가 도메인입니다.
.. csr 필수 string CSR(인증서 서명 요청)
용어집 — CSR 요구 사항을 참조하십시오.
.. server_platform 옵션 object 서버 플랫폼 유형입니다.
코드 서명 인증서 주문에 필수입니다.
기본값: -1 (기타)
.. .. id 필수 int 서버 플랫폼 ID입니다.
용어집 — 서버 플랫폼을 참조하십시오.
.. signature_hash 필수 string 인증서를 서명하기 위해 사용되는 해시 알고리즘입니다.

응답 매개 변수

이름 유형 설명
id int 주문 ID입니다.
requests array 요청의 목록입니다.
..  id int 요청 ID입니다.
certificate_id int 발급한 복제 인증서의 ID입니다.
certificate_chain array 인증서 체인 목록입니다.
.. subject_common_name string 인증서에 일반 이름입니다.
.. pem string PEM 인코딩 인증서입니다.